Layered scene decomposition CODEC with view independent rasterization

ABSTRACT

A system and methods for a CODEC driving a real-time light field display for multi-dimensional video streaming, interactive gaming and other light field display applications is provided applying a layered scene decomposition strategy. Multi-dimensional scene data is divided into a plurality of data layers. One or more polygons representative of corresponding portions of objects in the scene are obtained for each layer and used to determine a view-independent representation. This view independent representation and data layers are sampled using a plenoptic sampling scheme and rendered using hybrid rendering to encode light fields corresponding to each data layer. The resulting compressed, (layered) core representation of the multi-dimensional scene data is produced at predictable rates, reconstructed and merged at the light field display in real-time by applying view synthesis protocols, including edge adaptive interpolation, to reconstruct pixel arrays in stages (e.g. columns then rows) from reference elemental images.

CLAIM OF PRIORITY

This application claims priority to U.S. patent application Ser. No.62/809,390, filed on Feb. 22, 2019, the contents of which areincorporated here by reference in their entirety.

FIELD OF THE INVENTION

The present disclosure relates to image (light field) data encoding anddecoding, including data compression and decompression systems andmethods for the provision of interactive multi-dimensional content at alight field display.

BACKGROUND OF THE INVENTION

Autostereoscopic, high-angular resolution, wide field of view (FOV),multi-view displays provide users with an improved visual experience. Athree-dimensional display that can pass the 3D Turing Test (described byBanks et al.) will require a light field representation in place of thetwo-dimensional images projected by standard existing displays. Arealistic light field representation requires enormous amounts ofbandwidth to transmit the display data, which will comprise at leastgigapixels of data. These bandwidth requirements currently exceed thebandwidth capabilities provided by technologies previously known in theart; the upcoming consumer video standard is 8K Ultra High-Def (UHD),which provides only 33.1 megapixels of data per display.

Compressing data for transmission is previously known in the art. Datamay be compressed for various types of transmission, such as, but notlimited to: long-distance transmission of data over internet or ethernetnetworks; or transmission of a synthetic multiple-view created by agraphical processing unit (GPU) and transferred to a display device.Such data may be used for video streaming, real-time interactive gaming,or any other light field display.

Several encoder-decoders (CODECs) for compressed light fieldtransmission are previously known in the art. Olsson et al. teachcompression techniques where an entire light field data set is processedto reduce redundancy and produce a compressed representation.Subcomponents (i.e., elemental images) of the light field are treated asa video sequence to exploit redundancy using standard video codingtechniques. Vetro et al. teach multiple-view specializations ofcompression standards that exploit redundancy between the light fieldsubcomponents to achieve better compression rates, but at the expense ofmore intensive processing. These techniques may not achieve a sufficientcompression ratio, and when a good ratio is achieved the encoding anddecoding processes are beyond real-time rates. These approaches assumethat the entire light field exists in a storage disk or memory beforebeing encoded. Therefore, large light field displays requiring largenumbers of pixels introduce excessive latency when reading from astorage medium.

In an attempt to overcome hardware limitations for the delivery ofmulti-dimensional content in real-time, various methods and systems areknown, however, these methods and systems present their own limitations.

U.S. Pat. No. 9,727,970 discloses a distributed, in parallel(multi-processor) computing method and apparatus for generating ahologram by separating 3D image data into data groups, calculating fromthe data groups hologram values to be displayed at different positionson the holographic plane and summing the values for each position forgenerating a holographic display. As a disclosure focused on generatinga holographic display, the strategies applied involve manipulating fineat a smaller scale than light field and in this instance ischaracterized by the sorting and dividing of data according to colour,followed by colour image planes and then further dividing the planeimages into sub-images.

U.S. Patent Publication No. 20170142427 describes content adaptive lightfield compression based on the collapsing of multiple elemental images(hogels) into a single hogel. The disclosure describes achieving aguaranteed compression rate, however, image lossiness varies and incombining hogels as disclosed there is no guarantee of redundancy thatcan be exploited.

U.S. Patent Publication No. 20160360177 describes methods for fullparallax compressed light field synthesis utilizing depth informationand relates to the application of view synthesis methods for creating alight field from a set of elemental images that form a subset of a totalset of elemental images. The view synthesis techniques described hereindo not describe or give methods to handle reconstruction artifactscaused during backwards warping.

U.S. Patent Publication No. 20150201176 describes methods for fullparallax compressed light field 3D imaging systems disclosing thesubsampling of elemental images in a light field based on the distanceof the objects in the scene being captured. Though the methods describethe possibility of down sampling the light field using simple conditionsthat could enhance the speed of encoding, in the worst case 3D scenesexist where no down-sampling would occur, and the encoding would fallback on transform encoding techniques which rely on having the entirelight field to exist prior to encoding.

There remains a need for increased data transmission capabilities,improved data encoder-decoders (CODECs), and methods to achieve bothimproved data transmission and CODEC capabilities for the real-timedelivery of multi-dimensional content to a light field display.

SUMMARY OF THE INVENTION

The present invention relates generally to 3D image data encoding anddecoding for driving a light field display in real-time, which overcomesor can be implemented with present hardware limitations.

It is an object of the present disclosure to provide a CODEC withreduced system transmission latency and high bandwidth rates to providefor the production of a light field, in real time, with good resolution,at a light field display, for application in video streaming, andreal-time interactive gaming. Light field or 3D scene data isdeconstructed into subsets, which may be referred to as layers(corresponding to layered light fields), or data layers, sampled andrendered to compress the data for transmission and then decoded toconstruct and merge light fields corresponding to the data layers at alight field display.

According to an aspect there is computer-implemented method comprising:

-   -   receiving a first data set comprising a three-dimensional        description of a scene;    -   partitioning the first data set into a plurality of layers each        representing a portion of the scene at a location with respect        to a reference location;    -   obtaining, for each of the plurality of layers, one or more        polygons representative of corresponding portions of objects in        the scene;    -   determining, based on the one or more polygons, a        view-independent representation; and    -   encoding the view-independent representation as a portion of a        second data set, wherein a size of the second data set is        smaller than a size of the first data set.

Embodiments can include one or more of the following features.

In an embodiment of the method, the second data set is transmitted to aremote device for the scene to be presented at a display deviceassociated with the remote device.

In an embodiment of the method, encoding the view-independentrepresentation comprises performing a sampling operation on acorresponding portion of the first data set.

In an embodiment of the method, the sampling is based on a targetcompression rate associated with the second data set.

In an embodiment of the method, encoding the view-independentrepresentation comprises:

-   -   rendering, using ray tracing, a set of pixels to be encoded;    -   selecting multiple elemental images from a plurality of        elemental images such that the set of pixels are rendered using        the selected multiple elemental images; and    -   sampling the set of pixels using a sampling operation

In an embodiment of the method, the sampling operation comprisesselecting multiple elemental images from the corresponding portion ofthe first data set, in accordance with a plenoptic sampling scheme.

In an embodiment of the method, performing the sampling operationcomprises:

-   -   for each of the multiple layers, determining an effective        spatial resolution associated with the layer; and    -   selecting multiple elemental images from the corresponding        portion of the first data set in accordance with a determined        angular resolution.

In an embodiment of the method, the angular resolution is determined asa function of a directional resolution associated with the portion ofthe scene of the first data set.

In an embodiment of the method, the angular resolution is determined asa field of view associated with a display device.

In an embodiment of the method, the three-dimensional descriptioncomprises light field data representing elemental images.

In an embodiment of the method, each of the elemental images is capturedby one or more image acquisition devices.

In an embodiment of the method, the light field data includes a depthmap corresponding to elemental images.

In an embodiment of the method, the first data set comprises informationon directions of normals on surfaces included in the scene, thedirections of the normal being represented with respect to a referencedirection.

In an embodiment, reflection properties of at least some of the surfacesare non-Lambertian.

In an embodiment, the method further comprises:

-   -   receiving the second data set;    -   decoding portions of the second data set corresponding to each        of a set of multiple layers of the second data set;    -   combining the decoded portions into a representation of a light        field image; and    -   presenting the light field image on a display device.

In an embodiment of the method, further comprising:

-   -   receiving user-input indicative of a location of a user with        respect to the light field image; and    -   updating the light field image in accordance with the user-input        prior to presentation on the display device.

In an embodiment of the method, further comprising:

-   -   converting the one or more polygons into pixels and imaging the        pixels onto a display surface.

In an embodiment of the method, further comprising:

-   -   utilizing perspective rendering, oblique rendering, ray tracing,        or a combination thereof, to render the set of multiple layers        of the second data set.

In an embodiment of the method, layers located closer to the displaysurface achieve a lower compression ratio than layers of the same widthlocated further away from the display surface.

In an embodiment of the method, the set of multiple layers of the seconddata set comprise light fields.

In an embodiment of the method, further comprising the merging of thelight fields to create a final light field.

In an embodiment of the method, wherein partitioning the first data setinto a plurality of layers comprises restricting a depth range of eachlayer.

In an embodiment of the method, wherein layers located closer to adisplay surface are narrower in width than layers located farther awayfrom the display surface.

In an embodiment of the method, the partitioning of the first data setinto a plurality of layers maintains a uniform compression rate acrossthe scene.

In an embodiment of the method, the partitioning of the first data setinto a plurality of layers comprises partitioning the light fielddisplay into inner and outer frustum volume layer sets.

In an embodiment of the method, the method is used to used to generate asynthetic light field for multi-dimensional video streaming,multi-dimensional interactive gaming, real-time interactive content, orother light field display scenarios.

In an embodiment of the method, the synthetic light field is generatedonly in a valid viewing zone.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of the invention will become more apparent inthe following detailed description in which reference is made to theappended drawings.

FIG. 1: is a schematic representation (block diagram) of an embodimentof a layered scene decomposition (CODEC) system according to the presentdisclosure.

FIG. 2: is a schematic top-down view of the inner frustum volume andouter frustum volume of a light field display.

FIG. 3A: illustrates schematically the application of edge adaptiveinterpolation for pixel reconstruction according to the presentdisclosure.

FIG. 3B: illustrates a process flow for reconstructing a pixel array.

FIG. 4: illustrates schematically elemental images specified by asampling scheme within a pixel matrix, as part of the image (pixel)reconstruction process according to the present disclosure.

FIG. 5: illustrates schematically a column-wise reconstruction of apixel matrix, as part of the image (pixel) reconstruction processaccording to the present disclosure.

FIG. 6: illustrates a subsequent row-wise reconstruction of the pixelmatrix, as part of the image (pixel) reconstruction process according tothe present disclosure.

FIG. 7: illustrates schematically an exemplary CODEC system embodimentaccording to the present disclosure.

FIG. 8: illustrates schematically an exemplary layered scenedecomposition of an image data set (a layering scheme of ten layers)correlating to the inner frustum light field of a display.

FIG. 9: illustrates schematically an exemplary layered scenedecomposition of image data (two layering schemes of ten layers)correlating to the inner frustum and outer frustum light field regions,respectively, of a display.

FIG. 10: illustrates an exemplary CODEC process flow according to thepresent disclosure.

FIG. 11: illustrates an exemplary process flow for encoding 3D image(scene) data to produce layered and compressed core encoded (lightfield) representations, according to the present disclosure.

FIG. 12: illustrates an exemplary process flow for decoding core encodedrepresentations to construct a (display) light field at a display,according to the present disclosure.

FIG. 13: illustrates an exemplary process flow for encoding and decodingresidue image data for use with core image data to produce a(display/final) light field at a display according to the presentdisclosure.

FIG. 14: illustrates an exemplary CODEC process flow including viewindependent rasterization, according to the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates generally to CODEC systems and methods forlight field data or multi-dimensional scene data compression anddecompression to provide for the efficient (rapid) transmission andreconstruction of a light field at a light field display.

Various features of the invention will become apparent from thefollowing detailed description taken together with the illustrations inthe Figures. The design factors, construction and use of the layeredscene decomposition CODEC disclosed herein are described with referenceto various examples representing embodiments which are not intended tolimit the scope of the invention as described and claimed herein. Theskilled technician in the field to which the invention pertains willappreciate that there may be other variations, examples and embodimentsof the invention not disclosed herein that may be practiced according tothe teachings of the present disclosure without departing from the scopeand spirit of the invention.

Definitions

Unless defined otherwise, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art to which this invention pertains.

The use of the word “a” or “an” when used herein in conjunction with theterm “comprising” may mean “one,” but it is also consistent with themeaning of “one or more,” “at least one” and “one or more than one.”

As used herein, the terms “comprising,” “having,” “including” and“containing,” and grammatical variations thereof, are inclusive oropen-ended and do not exclude additional, unrecited elements and/ormethod steps. The term “consisting essentially of” when used herein inconnection with a composition, device, article, system, use or method,denotes that additional elements and/or method steps may be present, butthat these additions do not materially affect the manner in which therecited composition, device, article, system, method or use functions.The term “consisting of” when used herein in connection with acomposition, device, article, system, use or method, excludes thepresence of additional elements and/or method steps. A composition,device, article, system, use or method described herein as comprisingcertain elements and/or steps may also, in certain embodiments consistessentially of those elements and/or steps, and in other embodimentsconsist of those elements and/or steps, whether or not these embodimentsare specifically referred to.

As used herein, the term “about” refers to an approximately +/−10%variation from a given value. It is to be understood that such avariation is always included in any given value provided herein, whetheror not it is specifically referred to.

The recitation of ranges herein is intended to convey both the rangesand individual values falling within the ranges, to the same place valueas the numerals used to denote the range, unless otherwise indicatedherein.

The use of any examples or exemplary language, e.g. “such as”,“exemplary embodiment”, “illustrative embodiment” and “for example” isintended to illustrate or denote aspects, embodiments, variations,elements or features relating to the invention and not intended to limitthe scope of the invention.

As used herein, the terms “connect” and “connected” refer to any director indirect physical association between elements or features of thepresent disclosure. Accordingly, these terms may be understood to denoteelements or features that are partly or completely contained within oneanother, attached, coupled, disposed on, joined together, incommunication with, operatively associated with, etc., even if there areother elements or features intervening between the elements or featuresdescribed as being connected.

As used herein, the term “light field” at a fundamental level refers toa function describing the amount of light flowing in every directionthrough points in space, free of occlusions. Therefore, a light fieldrepresents radiance as a function of position and direction of light infree space. A light field can be synthetically generated through variousrendering processes or may be captured from a light field camera or froman array of light field cameras.

A light field may be described most generally as a mapping between a setof points in 3D space with a corresponding set of directions onto a setor sets of energy values. In practice, these energy values would be red,green, blue color intensities, or potentially other radiationwavelengths.

As used herein, the term “light field display” is a device whichreconstructs a light field from a finite number of light field radiancesamples input to the device. The radiance samples represent the colorcomponents red, green and blue (RGB). For reconstruction in a lightfield display, a light field can also be understood as a mapping from afour-dimensional space to a single RGB color. The four dimensionsinclude the vertical and horizontal dimensions (x,y) of the display andtwo dimensions describing the directional components (u,v) of the lightfield. A light field is defined as the function:LF:(x,y,u,v)→(r,g,b)

For a fixed x_(ƒ), y_(ƒ), LF(x_(ƒ), y_(ƒ), u, v) represents a twodimensional (2D) image referred to as an “elemental image”. Theelemental image is a directional image of the light field from the fixedx_(ƒ), y_(ƒ) position. When a plurality of elemental images areconnected side by side, the resulting image is referred to as an“integral image”. The integral image can be understood as the entirelight field required for the light field display.

As used herein, the term “description of a scene” refers to a geometricdescription of a three-dimensional scene that can be a potential sourcefrom which a light field image or video can be rendered. This geometricdescription may be represented by, but is not limited to, points,quadrilaterals, and polygons.

As used herein, the term “display surface” may refer to the set ofpoints and directions as defined by a planar display plane and physicalspacing of its individual light field hogel elements, as in atraditional 3D display. In the present disclosure, displays, asdescribed herein, can be formed on curved surfaces, thus the set ofpoints then would reside on the curved display surface, or any otherdesired display surface geometry that may be imagined. In the abstractmathematical sense, a light field may be defined and represented on anygeometrical surface and may not necessarily correspond to a physicaldisplay surface with actual physical energy emission capabilities

As used herein, the term “elemental image” represents a two dimensional(2D) image, LF(x_(ƒ), y_(ƒ), u, v), for a fixed x_(ƒ), y_(ƒ), LF(x_(ƒ),y_(ƒ), u, v). The elemental image is a directional image of the lightfield from the fixed x_(ƒ), y_(ƒ) position.

As used herein, the term “integral image” refers to a plurality ofelemental images connected side by side, the resulting image thereforereferred to as the “integral image”. The integral image can beunderstood as the entire light field required for the light fielddisplay.

As used herein, the term “layer” refers to any two parallel ornon-parallel boundaries, with consistent or variable width, parallel ornon-parallel to a display surface.

As used herein, the term “pixel” refers to a light source and lightemission mechanism used to create a display.

It is contemplated that any embodiment of the compositions, devices,articles, methods and uses disclosed herein can be implemented by oneskilled in the art, as is, or by making such variations or equivalentswithout departing from the scope and spirit of the invention.

Layered Scene Decomposition (LSD) CODEC System and Methods

The CODEC according to the present disclosure applies a strategy ofdrawing upon known sampling, rendering, and view synthesis methods forgenerating light field displays, adapting said strategies for use inconjunction with a novel layered scene decomposition strategy asdisclosed herein, including its derivation, implementation andapplications.

3D Displays

A conventional display as previously known in the art consists ofspatial pixels substantially evenly-spaced and organized in atwo-dimensional array allowing for an idealized uniform sampling. Bycontrast, a three-dimensional display requires both spatial and angularsamples. While the spatial sampling of a typical three-dimensionaldisplay remains uniform, the angular samples cannot necessarily beconsidered uniform in terms of the display's footprint in angular space.For a review of various light field parameterizations for angular raydistributions, please see U.S. Pat. No. 6,549,308.

The angular samples, also known as directional components of the lightfield, can be parameterized in various ways, such as the planarparameterizations taught by Gortler et. al in “The Lumigraph”. When thelight field function is discretized in terms of position, the lightfield can be understood as a regularly-spaced array ofplanar-parameterized pinhole projectors, as taught by Chai in “PlenopticSampling”. For a fixed x_(ƒ), y_(ƒ) the elemental image LF(x_(ƒ), y_(ƒ),u, v) represents a two-dimensional image which may be understood as animage projected by a pinhole projector with an arbitrary rayparameterization. For a light field display, the continuous elementalimage is represented by a finite number of light field radiance samples.For an idealized, planar parameterized pinhole projector, said finitenumber of samples are mapped into the image plane as a regularly-spacedarray (the regular spacing within the plane does not correspond to aregular spacing in the corresponding angular directional space).

In the case of a typical 3D light field display, the set of points anddirections would be defined by the planar display plane and physicalspacing of its individual light field hogel elements. However, it isknown that displays can be formed on curved surfaces, thus the set ofpoints then would reside on the curved display surface, or any otherdesired, display surface geometry that may be imagined. In the abstractmathematical sense, a light field can be defined and represented on anygeometrical surface and may not necessarily correspond to a physicaldisplay surface with actual physical energy emission capabilities. Theconcept of surface light field in the literature illustrates this case,as shown by Chen et al.

The consideration of planar parameterizations is not intended to limitthe scope or spirit of the present disclosure, as the directionalcomponents of the light field can be parameterized by a variety of otherarbitrary parameterizations. For example, lens distortions or otheroptical effects in a physically embodied pinhole projector can bemodeled as distortions of the planar parameterization. In addition,display components may be defined through a warping function, such astaught by Clark et al. in “A transformation method for thereconstruction of functions from nonuniformly spaced samples.”

A warping function α(u,v) defines a distorted planar parameterization ofthe pinhole projector, producing arbitrary alternate angulardistributions of directional rays in the light field. The angulardistribution of rays propagating from a light field pinhole projector isdetermined by the pinhole projector's focal length ƒ and a correspondingtwo dimensional warping function α(u,v).

An autostereoscopic light field display projecting a light field for oneor more users is defined as:D=(M _(x) ,M _(y) ,N _(u) ,N _(v) ,ƒ,α,D _(LP))

Where (M_(x), M_(y)) are the horizontal and vertical dimensions of thedisplay's spatial resolution and (N_(u), N_(v)) are the horizontal andvertical dimensions of the display's angular resolution components. Thedisplay is an array of idealized light field projectors, with pitchD_(LP), focal length ƒ, and a warping function α defining thedistribution of ray directions for the light field projected by thedisplay.

A light field LF (x, y, u, v) driving a light field display D=(M_(x),M_(y), N_(u), N_(v), ƒ, α, D_(LP)) requires M_(x) light field radiancesamples in the x direction, M_(y) light field radiance samples in the ydirection, and N_(u), and N_(v) light field radiance samples in the uand v directions. While D is defined with a single warping function α,each of the light field planar-parameterized pinhole projectors withinthe array of idealized light field pinhole projectors may have a uniquewarping function α, if significant microlens variations exist in apractical pinhole projector causing the angular ray distribution to varysignificantly from one microlens to another microlens.

Light Field Display Rendering

In “Fast computer graphics rendering for full parallax spatialdisplays,” Halle et al. provide a method for rendering objects locatedwithin an inner frustum volume and outer frustum volume of the display.FIG. 2 illustrates a light field display representing objects within avolumetric region defined by these two separate viewing frusta, with theinner frustum volume (110) located behind the display surface (300)(i.e., within the display) and the outer frustum volume (210) located infront of the display surface (i.e. outside of the display). Asillustrated, various objects (shown schematically as prismatic andcircular shapes) are located at varying depths from the display surface(300).

Halle et al. teach a double frustum rendering technique, where the innerfrustum volume and outer frustum volume are separately rendered as twodistinct light fields. The inner frustum volume LF_(O) (x, y, u, v) andouter frustum volume LF_(P) (x, y, u, v) are recombined into the singlelight field LF (x, y, u, v) through a depth merging process.

The technique uses a pinhole camera rendering model to generate theindividual elemental images of the light field. Each elemental image(i.e. each rendered planar-parameterized pinhole projector image)requires the use of two cameras: one camera to capture the inner frustumvolume and one camera to capture the outer frustum volume. Halle et al.teach rendering a pinhole projector image at a sampling region of thelight field using a standard orthoscopic camera and its conjugatepseudoscopic camera. For a pinhole camera C, the corresponding conjugatecamera is denoted as C*.

To capture an elemental image within a light field display withprojectors parameterized using warping function α, a generalized pinholecamera based on a re-parameterization of an idealizedplanarly-parameterized pinhole camera is used. As taught by Gortler etal., a pinhole camera C with a focal length ƒ has light rays defined bya parameterization created by two parallel planes. Pinhole camera Ccaptures an image I_(C) (u,v), where (u,v) are coordinates in the rayparameterization plane. The generalized pinhole camera, C_(α), is basedupon a planar parameterized camera warped using a two dimensional,continuous, invertible time-warping function, as taught by Clark et al.With a warping function α(u,v), the inverse is γ(u,v). Therefore, theimage of C_(α), I_(Cα)=I_(C)(α(u,v)).

Given the generalized pinhole camera, C_(α), a conjugate generalizedcamera C*_(α) is formed to complete double frustum rendering. The viewsgenerated from a M_(x)×M_(y) grid of generalized pinhole camera pairsare rendered to render the light field for the light field display.

Therefore, the set of all generalized pinhole camera pairs that must berendered to produce light field LF(x, y, u, v) for a given light fielddisplay D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) is defined as:{(C _(α) ,C* _(α))(x,y)|1≤x≤M _(x),1≤y≤M _(y)}

A set of orthoscopic cameras (O={(C_(α)(x,y)|1≤x≤M_(x), 1≤y≤M_(y)})capture the light field image corresponding to the inner frustum volumeand a set of conjugate generalized cameras (P={(C*_(α)(x,y)|1≤x≤M_(x),1≤y≤M_(y)}) capture the image corresponding to the outer frustum volume.As described above, the inner frustum volume and outer frustum volumeare combined into a single light field.

View Independent Rasterization

Maars et al. presented a generalized multi-view rendering techniqueusing view independent rasterization. After point generation, we rendermultiple views in parallel using the point representation. We performpoint rendering by either a) streaming points directly to the PixelShader stage of VIR, or b) storing points to a separate buffer anddispatching GPU compute threads (shown in FIG. 4). Our simple pointrendering kernels read a point's world-space location, and then for eachview, ap-ply the corresponding view-projection matrix, snap theprojected location to the nearest neighbor pixel in the view's buffer,and per-form z-buffering. Atomic functions resolve race conditionscaused by multiple points projecting to the same texel.

The remaining challenges of the technique as disclosed by Maars et al.are related to quality and speed. The implementation of view independentrasterization to layers, or subsets of a three-dimensional descriptionof a scene may include obtaining one or more polygons representativebased on the geometry of objects in the scene. A view independentrepresentation is generated based upon one or more of these polygons.The generated view independent representation is encoded as a portion ofa compressed second data set.

A typical gaming engine, or simulation engine level description of ascene is based on surfaces, lighting, textures, materials, and otherdescriptive data. The surfaces are typically represented as tiledpolygonal meshes, with individual polygons and their vertices, edges asthe minimal descriptive element.

FIG. 14 illustrates a computer-implemented method comprising:

-   -   receiving a first data set comprising a three-dimensional        description of a scene (420);    -   partitioning the first data set into a plurality of subsets each        representing a portion of the scene at a location with respect        to a reference location (429);    -   obtaining, for each of multiple subsets, one or more polygons        representative of corresponding portions of objects in the scene        (430);    -   determining, based on the one or more polygons, a        view-independent representation (431); and    -   encoding the view-independent representation as a portion of a        second data set, wherein a size of the second data set is        smaller than a size of the first data set (432).        Data Compression for Light Field Display

Piao et al. utilize a priori physical properties of a light field inorder to identify redundancies in the data. The redundancies are used todiscard elemental images based on the observation that elemental imagesrepresenting neighboring points in space contain significant overlappedinformation. This avoids performing computationally complex datatransforms in order to identify information to discard. Such methods donot utilize depth map information associated with each elemental image.

In “Compression for Full-Parallax Light Field Displays,” Graziosi et al.propose criteria to sub-sample elemental images based on simple pinholecamera coverage geometry to reduce light field redundancy. Thedownsampling technique taught by Graziosi et al. is simpler than thecomplicated basis decompositions often employed in other CODEC schemesfor two-dimensional image and video data. Where an object is locateddeep within a scene, the light field is sampled at a smaller rate. Forexample, when two separate pinhole cameras provide two different fieldsof view, there is very little difference from one elemental image to thenext elemental image, and the fields of view from the two pinholecameras overlap. While the views are subsampled based on geometric(triangle) overlap, the pixels within the views are not compressed.Because these pixels can be substantial, Graziosi et al. compress thepixels with standard two-dimensional image compression techniques.

Graziosi et al. teach that the sampling gap (ΔEI) between elementalimages, based on the minimum depth of an object d, can be calculated asfollows, where θ represents the light field display's field of view andP represents the lens pitch of the integral imaging display:

${\Delta\;{EI}} = \frac{\left( {2d} \right){\tan\left( {\theta\text{/}2} \right)}}{P}$

This strategy provides a theoretically lossless compression forfronto-parallel planar surfaces when there are no image occlusions. Asshown in the formula, the sampling gap increases with d, providing animproved compression rate when fewer elemental images are required. Forsufficiently small d, ΔEI can reach 0. Therefore, this downsamplingtechnique gives no guaranteed compression rate. In a scene with multiplesmall objects, where the objects are close to the screen or are at thescreen distance, each elemental image would have at least some pixels ata 0 depth and this technique would provide no gains, i.e. ΔEI=0throughout the integral image.

Graziosi et al. equate the rendering process with the initial encodingprocess. Instead of producing all of the elemental images, this methodonly produces the number needed to reconstruct the light field whileminimizing any loss of information. Depth maps are included with theelemental images selected for encoding and the missing elemental imagesare reconstructed using well-established warping techniques associatedwith depth image-based rendering (DIBR). The selected elemental imagesare further compressed using methods similar to the H.264/AVC method,and the images are decompressed prior to the final DIBR-based decodingphase. While this method provides improved compression rates withreasonable signal distortion levels, no time-based performance resultsare presented. Such encoding and decoding cannot provide goodlow-latency performance for high bandwidth rates. In addition, thismethod is limited to use for a single object that is far away from thedisplay surface; in scenes with multiple overlapping objects and manyobjects close to the display surface, the compression would be forcedback to use H.264/AVC style encoding.

Chai teaches plenoptic sampling theory to determine the amount ofangular bandwidth required to represent fronto-parallel planar objectsat a particular scene depth. Zwicker et al. teach that the depth offield of a display is based on the angular resolution, with moreresolution providing a greater depth of field. Therefore, objects closeto the display surface are represented adequately with lower angularresolution, while far objects require larger angular resolutions.Zwicker et al. teach the maximum display depth of field with idealprojective lenses based on planar parameterization is:

$Z_{DOF} = \frac{{fP}_{l}}{P_{P}}$where P_(l) is the lens pitch and P_(p) is the pixel pitch and ƒ is thefocal length of the lenses. In a three-dimensional display with anisotropic directional resolution (i.e. N=N_(u)=N_(v)), N=P_(l)/P_(p).Therefore, Z_(DOF)=ƒN.

To determine the angular resolution required to represent the fullspatial resolution of the display, at a given depth d, the equation isrearranged as:

${N_{res}(d)} = \frac{d}{f}$

Therefore, each focal length distance into the scene adds another pixelof angular resolution required to fully represent objects at the givenspatial resolution of the display surface.

Layered Scene Decomposition and Sampling Scheme

The sampling gap taught by Graziosi et al. and the plenoptic samplingtheory taught by Zwicker et al. provide complimentary light fieldsampling strategies: Graziosi et al. increase downsampling for distantobjects (ΔEI) while Zwicker et al. increase downsampling for nearobjects (N_(res)). However, when downsampling a single light fieldrepresenting a scene, the combination of these strategies does notguarantee compression. Therefore, the present disclosure divides amultiple-dimensional scene into a plurality of layers. This divisioninto a plurality of (data) layers is referred to herein as a layeredscene decomposition. Where K₁ and K₂ are natural numbers, we defineL=(K₁, K₂, L^(O), L^(P)), partitioning the inner and outer frustumvolumes of a three-dimensional display. The inner frustum is partitionedinto a set of K₁ layers, where L^(O)={l₁ ^(O), l₂ ^(O) . . . l_(K) ₁^(O)}. Each inner frustum layer is defined by a pair of boundariesparallel to the display surface at distances d_(min)(l_(i) ^(O)) andd_(max)(l_(i) ^(O)) for 1≤i≤K₁ from the display surface. The outerfrustum is partitioned into a set of K₂ layers, where L^(P)={l₁ ^(P), l₂^(P) . . . l_(K) ₂ ^(O)}. Each outer frustum layer is defined by a pairof boundaries parallel to the display surface at distances d_(min)(l_(i)^(P)) and d_(max)(l_(i) ^(P)) for 1≤i≤K₂ from the display surface. Inalternate embodiments, the inner and outer frustum volumes may bedivided by layering schemes differing from each other and the pair ofboundaries can be but also may not be parallel to the display surface.

Each of the layered scene decomposition layers has an associated lightfield (herein also referred to as a “light field layer”) based on thescene restrictions to the planar bounding regions of the layer. Considera layered scene decomposition L=(K₁, K₂, L^(O), L^(P)) for a light fielddisplay D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) with an innerfrustum layer l_(i) ^(P)∈L^(P) for 1≤i≤K₁, or an outer frustum layerl_(j) ^(O)∈L^(O) for 1≤j≤K₂. The inner frustum light field LF_(l) _(i)_(O) is generated from the set of generalized pinhole camerasO={C_(α)(x,y)|1≤x≤M_(x), 1≤y≤M_(y)}. This equation is constrained suchthat only the space at distance d from the light field display surface,where d_(min)(l_(i) ^(P))≤d≤d_(max)(l_(i) ^(P)), is imaged. Therefore,for an inner frustum layer with a fixed x, y and C_(α)(x,y)∈O, wecalculate LF_(l) _(i) _(O) (x, y, u, v)=I_(C) _(α) _((x,y)). Similarly,the outer frustum light field LF_(l) _(i) _(P) is generated from the setof generalized pinhole cameras P={C*_(α)(x,y)|1≤x≤M_(x), 1≤y≤M_(y)}.This equation is constrained such that only the space at distance d fromthe light field display surface, where d_(min)(l_(i)^(P))≤d≤d_(max)(l_(i) ^(P)), is imaged. Therefore, for an outer frustumlayer with a fixed x, y and C_(α)(x,y)∈P, we calculate LF_(l) _(i) _(P)=I_(C) _(α) _((x,y)).

The sets of light fields for the inner and outer frustum regionsrelative to the layered scene decomposition L can be further defined.Assume a light field display D=(M_(x), M_(y), N_(u), N_(v), ƒ, α,D_(LP)) with a layered scene decomposition L=(K₁, K₂, L^(O), L^(P)). Theset of inner frustum region light fields is defined as O^(LF)={LF_(l)_(i) _(O) |1≤i≤K₁}. The set of outer frustum region light fields isdefined as P^(LF)={LF_(l) _(i) _(P) |1≤i≤K₂}.

As defined, a layered scene decomposition generates a light field foreach layer. For any layered scene decomposition, orthoscopic camerasgenerate inner frustum volume light fields and pseudoscopic camerasgenerate outer frustum volume light fields. If a scene captured by thesegeneralized pinhole camera pairs is comprised of only opaque surfaces,each point of the light field has an associated depth value whichindicates the distance from the generalized pinhole camera plane to thecorresponding point in space imaged. When given a light field LF_(l)_(i) _(O) ∈O^(LF) or LF_(l) _(j) _(O) ∈P^(LF), the LF_(l) _(i) _(O)depth map is formally defined as D_(m)[LF_(l) _(i) _(O) ](x, y, u, v),and the LF_(l) _(i) _(P) depth map is formally defined as D_(m)[LF_(l)_(i) _(P) ](x, y, u, v). The depth maps D_(m)=∞ where there are nosurface intersection points corresponding to the associated imaginggeneralized pinhole camera rays. Across their domains, d_(min)(l_(i)^(P))≤D_(m)[LF_(l) _(i) _(P) ](x, y, u, v)≤d_(max)(l_(i) ^(P)) andd_(min)(l_(i) ^(O))≤D_(m)[LF_(l) _(i) _(O) ](x, y, u, v)≤d_(max)(l_(i)^(O)). In other words, depth maps associated with a layered scenedecomposition layer's light field are bound by the depth bounds of thelayer itself.

A merging operation can re-combine the layered scene decomposition layersets back into the inner and outer frustum volumes, or LF_(O) andLF_(P). The inner and outer frustum volume light fields are merged withthe merging operator *_(m). For example, when given two arbitrary lightfields, LF₁(x, y, u, v) and LF₂(x, y, u, v), wherei=argmin_(j∈{1,2})D_(m)[LF_(j)](x, y, u, v), *_(m) is defined as:LF ₁(x,y,u,v)*_(m) LF ₂(x,y,u,v)=LF ₁(x,y,u,v)Therefore, LF_(O)(x, y, u, v) and LF_(P)(x, y, u, v) can be recoveredfrom the sets O^(LF) and P^(LF) by merging the light fields associatedwith the inner and outer frustum layers. For example:

LF_(O) = LF_(l₁^(O)) * mLF_(l₂^(O)) * m  …   * mLF_(l_(K₁)^(O))LF_(P) = LF_(l₁^(P)) * mLF_(l₂^(P)) * m  …  * mLF_(l_(K₁)^(P))

The present disclosure provides a layered scene decomposition operationand an inverse operation which merges the data to reverse saiddecomposition. Performing a layered scene decomposition with K layers isunderstood to create K times as many individual light fields. The valueof the layered scene decomposition is in the light fields induced by thelayers; these light field layers are more suitable for downsampling thanthe original total light field or the inner frustum volume or outerfrustum volume light fields, as the total data size required formultiple downsampled layered scene decomposition light field layers withan appropriate sampling scheme is significantly less than the size ofthe original light field.

The skilled technician in the field to which the invention pertains willappreciate that there are multiple types of sampling schemes that cansuccessfully sample a light field. The sampling scheme S provided is notintended to limit or depart from the scope and spirit of the invention,as other sampling schemes, such as specifying individual sampling ratesfor each elemental image in the layered scene decomposition layer lightfields, can be employed. Relatively simple sampling schemes can providean effective CODEC with greater sampling control; therefore, the presentdisclosure provides a simple sampling scheme to illustrate thedisclosure without limiting or departing from the scope and spirit ofthe invention.

A light field sampling scheme provided according to the presentdisclosure represents a light field encoding method. Given a displayD=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) and a layered scenedecomposition L=(K₁, K₂, L^(O), L^(P)), the present disclosure providesa sampling scheme S associated with L as an M_(x)×M_(y) binary matrixM_(S)[l_(i)] associated with any layer l_(i) in L^(O) or L^(P) and amapping function R(l_(i)) to map each layer l_(i) to a pairR(l_(i))=(n_(x), n_(y)). A binary ({0,1}) entry in M_(S)[l_(i)] at(x_(m), y_(m)) indicates if the elemental image LF_(l) _(i) (x_(m),y_(m), u, v) is included in the sampling scheme: a (1) indicates LF_(l)_(i) (x_(m), y_(m), u, v) is included, and a (0) indicates LF_(l) _(i)(x_(m), y_(m), u, v) is not included. R(l_(i))=(n_(x), n_(y)) indicatesthe elemental images in light field LF_(l) _(i) are sampled at aresolution of n_(x)×n_(y).

The present disclosure also provides a layered scene decomposition lightfield encoding process that draws upon plenoptic sampling theory. Thefollowing description pertains to the inner frustum volume L^(O) of alayered scene decomposition L, but the outer frustum volume L^(P) may beencoded in a similar fashion.

For each l_(i)∈L^(O), the depth map of the corresponding light fieldLF_(l) _(i) is restricted to d in the range d_(min)(l_(i)^(O)≤d≤d_(max)(l_(i) ^(O)). Based on the sampling scheme presentedabove, the present disclosure creates a sampling scheme S using thefollowing equation to guide the creation of M_(S)[l_(i) ^(O)]:

${\Delta\;{{EI}\left( {d_{\min}\left( l_{i}^{o} \right)} \right)}} = \frac{\left( {2{d_{\min}\left( l_{i}^{o} \right)}} \right){\tan\left( {\theta\text{/}2} \right)}}{D_{LP}}$

In other words, ΔEI guides the distance between “l” entries in the M_(S)matrix associated with each layered scene decomposition layer. Thefollowing equation sets the resolution of the individual elementalimages

${{R\left( l_{i}^{o} \right)} = \frac{d_{\max{(l_{i}^{o})}}}{f}},\frac{d_{\max{(l_{i}^{o})}}}{f}$in a layer:

${N_{rew}\left( {d_{\max}\left( l_{i}^{o} \right)} \right)} = \frac{d_{\max}\left( l_{i}^{o} \right)}{f}$

This sampling scheme, using both ΔEI and N_(res) to drive individuallayered scene decomposition layer sampling rates, can be considered as alayered plenoptic sampling theory sampling scheme (otherwise referred toherein as “plenoptic sampling scheme”). This plenoptic sampling schemeis based on a display utilizing the plenoptic sampling theory identityfunction α(t)=t. This per-layer sampling scheme provides losslesscompression for fronto-parallel planar scene objects where the objectswithin a layer do not occlude each other.

The assumption of only fronto-parallel planar scene objects isrestrictive and does not represent typical scenes; inevitably there areintra-layer occlusions, especially for layered scene decompositionlayers that are larger in size. To capture and encode a full range ofpotential scenes without introducing significant perceivable artifacts,the system can draw upon information in addition to the light fieldplenoptic sampling scheme of the present disclosure.

For example, surfaces are locally approximated by planar surfaces atvarious slanting angles. In “On the bandwidth of the plenopticfunction,” Do et al., theorize time-warping techniques allowing for thespectral characterization of slanted light field display surfaces. Thiswork suggests that a necessary decrease in downsampling and the need forprecise characterization of local bandwidth changes is induced by thedegree of surface slanting, the depth of objects in the scene, and thepositioning of objects at the FOV edge. Therefore, if signal distortionsfrom fronto-parallel geometry deviations are perceptually significant,residue representations can adaptively send additional or supplementalelemental image data (dynamically altering the static sampling scheme)to compensate for losses incurred.

The present disclosure therefore provides for the identification as“core” or “residue” information for the encoding and decoding of thelight field by the CODEC. When given a light field display D and acorresponding layered scene decomposition L with an associated samplingscheme S, the present disclosure considers the encoded, downsampledlight fields associated with L and S, as well as the number of layeredscene decomposition layers and the depth of said layers, as the “core”representation of a light field encoded and decoded by the CODEC. Anyadditional information transmitted along with the core (encoded)representation of the light field that may be required during thedecoding process is considered as the “residue” representation of thelight field to be processed by the CODEC and used together with the corerepresentation of the light field to produce the final light fielddisplayed.

Many layered scene decompositions and sampling schemes that may bedefined in the framework defined above can still exhibit issues withholes due to occlusions after they are merged and the original lightfield is reconstructed. It is an observation that object occlusions thatoccur between objects in separate layers do not lead to holes afterreconstruction. However, objects that may occlude each other that areboth located within the same layer can lead to holes, especially forcertain sampling schemes.

To be specific, if sampling within a particular layer is such that thegap between sampled elemental images is large, then there is a highlikelihood that occluded objects can be under-represented, thusresulting in holes. One solution to this is to simply sample elementalimages at a higher rate. A higher sampling rate however results in alower compression rate. Adding more elemental images therefore canresult in the inclusion of significant redundant information. What isneeded is a more discriminant method that can include additionalinformation that helps to fill in holes while not contributing toredundancy in the overall representation. For example, consider alayered scene decomposition:L=(K ₁ ,K ₂ ,L ^(O) ,L ^(P))

For each layer l_(i) in L^(O) or L^(P), we can define a set of residuelayers:R(l _(i))={r(l _(i))(j)|1≤j≤K _(i)}

Where K_(i) is a natural number describing the number of residue layersrequired for layer l_(i). For each residue layer, like layered scenedecomposition layers, there is a light field associated with the layer:LF _(r(l) _(i) _()j)

In the most general description, these additional layers can be freeform with no further restrictions. In practice, additional informationthat can help to deal with occlusions is represented in these residuelayers. One way to implement this is to have residue layers have thesame sampling scheme as their parent layered scene decomposition layer,however one possible variation might be to sample the residue layerswith a lower directional resolution in order to tightly control thecompression rate of the LSD plus residue layer combination.

Specifically, the residue layers may be defined as additional layerscorresponding to the concept of Deep G-Buffers. Thus:D _(m)[LF _(l) _(i) ](x,y,u,v)<D _(m)[LF _(r(l) _(i) ₎₍₁₎](x,y,u,v)< . .. <D _(m)[LF _(r(l) _(i) _()(K) _(i) ₎](x,y,u,v)

In this case, residue layers sit in contrast to layered scenedecomposition layers in the sense that the depth ranges of each layerare not fixed by pre-decided depth divisions of the layered scenedecomposition layer scheme but are based on the depth layercharacteristics inherent to the geometry in the scene being represented.

Layer-Based Compression Analysis

Predictable compression rates are required to create a real-timerendering and transmission system, together with downsampling criteria(which do not indicate achievable compression rates). The followingprovides a compression analysis of the present disclosure's layeredscene decomposition encoding strategy.

As already described, downsampling a light field based on plenopticsampling theory alone does not offer guaranteed compression rates. Thepresent disclosure provides a downsampling light field encodingstrategy, allowing for a low-latency, real-time light field CODEC. Inone embodiment, complementary sampling schemes based on plenopticsampling theory, using both ΔEI and N_(res) are employed to driveindividual layered scene decomposition layer sampling rates. The layeredscene decomposition, representing the total 3D scene as a plurality oflight fields, expands the scene representation by a factor of the numberof layers. The present disclosure further contemplates that when layerdepths are chosen appropriately, compression rates can be guaranteedwhen combined with plenoptic sampling theory based downsampling.

For a light field LF_(l) _(i) corresponding to a given layered scenedecomposition layer l_(i) the layer's restricted depth range provides aguaranteed compression rate for the layer's light field. The achievablecompression ratio from downsampling a scene completely contained withina single layer can be explained in the following theorem:

Theorem 1

Consider a display D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) with anisotropic directional resolution N=N_(u)=N_(v), a layered scenedecomposition L and an associated sampling scheme S=(M_(S), R). Assume alayered scene decomposition layer l_(i) with the corresponding lightfield LF_(l) _(i) such that d_(min)(l_(i))<Z_(DOF)(D), and M_(S)[LF_(l)_(i) ] is selected so the distance between “1” entries is set toΔEI(d_(min)(l_(i))) and R(l_(i))=N_(res)(d_(max)(l_(i))) The compressionratio associated with S relative to the layered scene decompositionlayer l_(i) is

$1\text{:}{{N^{2}\left( \frac{d_{\min}\left( l_{i} \right)}{d_{\min}\left( l_{i} \right)} \right)}.}$Proof 1

Consider a layered scene decomposition layer within the maximum depth offield of the display, where

${{d_{\min}\left( l_{i} \right)} = {{\frac{Z_{DOF}}{c}\mspace{14mu}{and}\mspace{14mu}{d_{\max}\left( l_{i} \right)}} = {{\frac{Z_{DOF}}{d}\mspace{14mu}{for}\mspace{14mu} 0} < c}}},{d \leq {Z_{DOF}.}}$Therefore,

$c = {{\frac{Z_{DOF}}{d_{\min}\left( l_{i} \right)}\mspace{14mu}{and}\mspace{14mu} d} = {{\frac{Z_{DOF}}{d_{\max}\left( l_{i} \right)}\mspace{14mu}{and}\mspace{14mu} d\text{/}c} = {\frac{d_{\min}\left( l_{i} \right)}{d_{\max}\left( l_{i} \right)}.}}}$Therefore ΔEI(d_(min)(l_(i)))=N/c and N_(res)(d_(max)(l_(i)))=N/d.

Based on this rate of sub-sampling, the system requires every (N/c)^(th)elemental image, therefore providing a compression ratio of 1:(N/c)².The elemental image sub-sampling provides a 1:d² compression ratio.Therefore, the total compression ratio is 1:(N/c)²*1:d²=1:(d/c)². Thecompression factor term

$c_{f} = \frac{d_{\min}\left( l_{i} \right)}{d_{\max}\left( l_{i} \right)}$determines the compression ratio.

There may be an alternate case where d_(min)(l_(i))=Z_(DOF) and(d_(max)(l_(i))) can extend to any arbitrary depth. We knowΔEI(Z_(DOF))=N and N_(res) attains the maximum possible value of N forall depths d≥Z_(DOF). Based on this rate of sub-sampling, the systemrequires every N^(th) elemental image, thus providing the light fieldwith a 1:N² compression ratio. Adding additional layered scenedecomposition layers beyond Z_(DOF) adds redundant representationalcapability when representing fronto-parallel planar objects. Therefore,when creating a core encoded representation, the total scene may beoptimally decomposed with the maximum depth of field in the layers.

Given the compression calculation expression for downsampling a layeredscene decomposition layer, we can determine how the compression factorvaries as the layer parameters vary. For a layer of a fixed width, ord_(max)(l_(i))−d_(min)(l_(i))=w for some w, the c_(ƒ) term is minimizedwhen d_(max)(l_(i))−d_(min)(l_(i)) is closest to the display surface.Therefore, layered scene decomposition layers located closer to thedisplay surface require a narrower width to achieve the same compressionratio as layers located further away from the display surface. Thiscompression rate analysis can extend to scenes that are partitioned intomultiple adjacent fronto-planar layers located in the space from thedisplay surface until the depth Z_(DOF).

Theorem 2

Consider a display D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) with anisotropic directional resolution N=N_(u)=N_(v), a layered scenedecomposition L and an associated sampling scheme S=(M_(S), R). LetS_(LF)=M_(x)M_(Y)N_(u)N_(v), denoting the number of image pixels in thelight field. The compression ratio of the layered scene decompositionrepresentation can be defined as:

$\frac{A}{S_{LF}} = {{\left( {1\text{/}N^{2}} \right){\sum\limits_{i = 1}^{K}\;\left( {1\text{/}{c_{f}(i)}^{2}} \right)}} = {\left( {1\text{/}N^{2}} \right){\sum\limits_{i = 1}^{K}\;\left( \frac{d_{\max}\left( l_{i} \right)}{d_{\min}\left( l_{i} \right)} \right)^{2}}}}$Proof 2

For a given layered scene decomposition layer downsampled withcompression ratio:

${S_{layer}(i)} = {\left( \frac{1}{N^{2}{c_{f}(i)}^{2}} \right)S_{LF}}$

To calculate the compression ratio, the size of each layer in thecompressed form is computed and summed, and the total compressed layersize is divided by the size of the light field. Consider a sum where thesize of the compressed set of layers is:

$A = {\sum\limits_{i = 1}^{K}\;{\left( \frac{1}{N^{2}{c_{f}(i)}^{2}} \right)S_{LF}}}$

Therefore, the compression ratio of the combined layers is:

$\frac{A}{S_{LF}} = {{\left( {1\text{/}N^{2}} \right){\sum\limits_{i = 1}^{K}\;\left( {1\text{/}{c_{f}(i)}^{2}} \right)}} = {\left( {1\text{/}N^{2}} \right){\sum\limits_{i = 1}^{K}\left( \frac{f + {i\;\Delta\; L}}{f + {\left( {i - 1} \right)\Delta\; L}} \right)^{2}}}}$

In a system where the layered scene decomposition layers are of variablewidth, with d_(min)(i) and d_(max)(i) representing the front and backboundary depths of the i^(th) layer, the compression ratio of thelayered scene decomposition representation is:

$\frac{A}{S_{LF}} = {{\left( {1\text{/}N^{2}} \right){\sum\limits_{i = 1}^{K}\;\left( {1\text{/}{c_{f}(i)}^{2}} \right)}} = {\left( {1\text{/}N^{2}} \right){\sum\limits_{i = 1}^{K}\;\left( \frac{d_{\max}\left( l_{i} \right)}{d_{\min}\left( l_{i} \right)} \right)^{2}}}}$

The sum Σ_(i=1) ^(K)(1/c_(ƒ)(i)²) for constant layered scenedecomposition layers is monotonically decreasing and tending towards 1.

Therefore, layered scene decomposition layers located closer to thedisplay surface achieve a lower compression ratio than layers of thesame width located further away from the display surface. To maximizeefficiency, layered scene decomposition layers with a narrower width arelocated closer to the display surface, and wider layered scenedecomposition layers are located further away from the display surface;this placement maintains a uniform compression rate across the scene.

Number and Size of Layered Scene Decomposition Layers

To determine the number of layers and the size of layers required forthe layered scene decomposition, a light field display with an α(t)=tidentity function, is provided as an example. The consideration of thisidentity function is not intended to limit the scope or spirit of thepresent disclosure, as other functions can be utilized. The skilledtechnician in the field to which the invention pertains will appreciatethat while the display D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) isdefined with a single identity function α, each light fieldplanar-parameterized pinhole projector within an array ofplanar-parameterized pinhole projectors may have a unique identityfunction α.

To losslessly represent fronto-planar surfaces (assuming no occlusions),a single layered scene decomposition layer with a front boundary locatedat depth Z_(DOF) represents the system from Z_(DOF) to infinity Losslesscompression may be defined as class of data compression algorithms thatallows the original data to be perfectly reconstructed from thecompressed data To generate a core representation, layered scenedecomposition layers beyond the deepest layer located at the light fielddisplay's maximum depth of field are not considered, as these layers donot provide additional representative power from the core representationperspective; this applies to both the inner and outer frustum volumelayer sets.

Within the region from the display surface to the maximum depth of fieldof the display (for both the inner and outer frustum volume layer sets),the layered scene decomposition layers utilize maximum and minimumdistance depths that are integer multiples of the light field display ƒvalue. Layered scene decomposition layers with a narrower width providea better per-layer compression ratios, thereby providing better overallscene compression ratios. However, a greater number of layers in thedecomposition increases the amount of processing required for decoding,as a greater number of layers must be reconstructed and merged. Thepresent disclosure accordingly teaches a layer distribution scheme withdifferential layer depths. In one embodiment, layered scenedecomposition layers (and by correlation the light fields represented bysaid layers) with a more narrow width are located closer to the displaysurface, and the layer width (i.e., the depth difference between thefront and back layer boundaries) increases exponentially as the distancefrom the display surface increases.

Let us assume that in a given practical context, it is reasonable todefine a maximum viewing distance for a light field display. Based onthis maximum viewing distance, we can consider the associated fall-offfunction, as a function of directional resolution chosen for a potentialsampling scheme for a given layer.

A three-dimensional description of a scene is partitioned into aplurality of subsets and multiple layers or subsets are encoded togenerate a second data set, smaller than a size of the first data set.The encoding of the layer or subset may include performing a samplingoperation on the subset. An effective resolution function is used todetermine a suitable sampling rate. Elemental images associated with asubsection are then downsampled using the determined suitable samplingrate.

Related works have focused on analyzing depth of field and howresolution degrades at depth in displays with multiple light-attenuatinglayers. These works still analyze depth of field as anobserver-independent concept similarly to Zwicker et. al which describesthe depth of field of a light field display as the range of depths inwhich a virtual plane oriented parallel to the display surface can bereproduced at the display's maximum spatial resolution. This frameworkhowever does not factor in the observer, it is based on effectivelyorthographic views of the scene. The information a particular viewer hasaccess to from the light field from a given viewpoint in terms of thequality of objects at depth in a scene is addressed.

Alpaslan et. al performed a study to determine how perceived resolutionchanged at distance in a light field display in terms of varying opticaland spatio-angular resolution parameters. It was shown that increasedangular resolution reduces the decrease in perceived resolution at depthin the display. This analysis is based on patterns of oscillations thatmeasure in cycles per space, where space is that in the inner and outerfrustum of the display, as seen in the below equation.p=p _(o) +s*tanϕ

Where p is the smallest feature size, p_(o) is the pixel size, s is thedepth into the screen and ϕ is the angular distance between two samples.This formula is based on simple geometric arguments and the assumptionthat directional rays of the display are distributed uniformly inangular space. It clearly shows that feature size increases withdistance, however, this formula is formulated independent of aparticular observer and what feature size the observer may resolve atdepth.

In contrast, Dodgson analyzes how observers can occupy various viewingzones in front of a 3D display which correspond to density of projectionfrom the display's angular components, but do not directly relate theseviewing zones to apparent viewing quality of objects at depth.

One approach to dealing with small depth of field, or DoF, involvesscaling content to fit within the target region. This technique doesappear to produce a good result, but since it involves some optimizationon the content, it appears it would not be immediately amenable toreal-time datasets in an interactive setting. A simpler, fixed schemere-scaling technique could work in a real-time setting yet would likelyintroduce unacceptable distortion artifacts such as cardboarding.Cardboarding may be defined as a pervasive artifact that occurs whenvisualizing 3D content is the so-called “cardboarding” effect, whereobjects appear flat due to depth compression.

In cases where all surfaces are Lambertian, it can be assumed that anobserver is a pinhole camera. A real human eye is more accuratelymodeled as a finite aperture camera, which is an approach taken in other3D display view simulation work. However, a pinhole camera is used forsimplicity, as it can serve as an upper bound on quality over the finiteaperture case in some sense. It is assumed that the canonical imageforms the basis of the observer image. Thus, to examine the quality ofthe image, the canonical rays are considered. More specifically, it isassumed that the canonical image I_(c)[D, O] can be related to thecanonical image through a type of upscaling operation. The canonicalimage is a sampled version of a warped observer image. Applying theinverse warping function to the canonical image, a continuous version ofit, would then give the observer image. The warping function can also bedescribed as a projection function.

It is possible to present a formal definition of a 3D light fielddisplay in terms of various design parameters. Without loss ofgenerality, it is assumed that the display is centered in 3D space at(x,y,z)=(0, 0, 0) and points at an observer in the positive z direction,with y direction pointing up. The formal definition is as follows:

Considering a light field display D=(M_(x), M_(y), N_(u), N_(v), ƒ,D_(LP)), where (M_(x), M_(y)) are the horizontal and vertical dimensionsof the display's spatial resolution, (N_(u), N_(v)) are the horizontaland vertical dimensions of the display's angular resolution components.It is assumed the display is an array of idealized light fieldprojectors whose pitch is D_(LP), and with a focal length ƒ. Suppose theM_(x)×M_(y) array of light field projectors can be indexed LFP_(ij) suchthat the first coordinate aligns with the x-axis and the second with they-axis. Thus, results the set of light fieldprojectors:{LFP_(ij)|1≤i≤M_(x), 1≤j≤M_(y)}. For any particular lightfield projector, one may address each of the individual N_(u)×N_(v),pixels by LF P_(ij)(u,v) for 1≤u≤N_(u) and 1≤u≤N_(v). Based on the focallength ƒ of the display, one can compute an angular field of view,denoted as θ_(FOV).

It is known that a light field display can represent objects that arewithin a volumetric region defined by two separate viewing frusta,encompassing an area both behind and in front of the display surface.These two frusta are hereto referred to as the inner and outer frustumregions of a given display.

Defining an observer O=(X_(O), D_(O), ƒ_(O)) as a pinhole camera imaginga display with focal length ƒ_(O), with focal point located at X_(O) andpointing in direction D_(O), where D_(O) is a 3D vector. For observer O,this is known as the observer image and denoted as I_(O).

A particular observer, depending on its particular location anddirection/orientation images a different subset of the possible outputray directions projected by the light field projectors of a display.These rays may be defined more precisely:

Given a display D=(M_(x), M_(y), N_(u), N_(v), ƒ, D_(LP)) and anobserver O=(X_(O), D_(O), ƒ_(O)). Defining the set of rays, one for eachlight field projector associated with D, defined by the line thatconnects Xo and the center of each light field projector. Let X_(ij)^(c) denote the center of LFP_(ij). One then defines the set of lines{X_(O)X_(ij) ^(c) |1≤i≤M_(x), 1≤j≤M_(y)} as the set of canonical rays ofobserver O relative to display D. The canonical rays, it should benoted, only form a subset of the rays that would contribute to theobserver image. It is straightforward to observe that the set ofcanonical rays of an observer is independent of the observer's directionD_(O) and focal length ƒ_(O). Thus, the set of all possible observers ata particular location share the same set of canonical rays relative to adisplay.

For any canonical ray X_(O)X_(ij) ^(c) here is an angular (θ_(ij),ϕ_(ij)) pair that represents the spherical coordinates of the vectorassociated with X_(O)X_(ij) ^(c) . Each of the N_(u)×N_(v), elements ofLF P_(ij)(u,v) also has a spherical coordinate representation which maybe written as (θ(u), ϕ(v)) as well as a spatial vector representation,denoted as P_(u,v) .

The canonical rays for a given display and observer may be seen tosample intensity values from the light field projected by the displayand its light field projectors. These intensity values may be observedto form a M_(x) by M_(y) image, further referred hereto as the canonicalimage relative to display D and observer O. This image is denoted asI_(c)[D, O](x,y).

Considering a display's field of view θ_(FOV), there is a minimumdistance that an observer must be located at in order to be able to seelight from all the light field projector-based pixels on the display.Generally, for a smaller FOV, this distance becomes larger and for alarge field of view the observer may come closer. This distance can bedetermined by trigonometry as:

$d_{O} = \frac{M_{x}D_{LP}}{2\mspace{14mu}{\tan\left( \frac{\theta_{FOV}}{2} \right)}}$

Each light field projector represents a segment of a continuous smoothlight field. Given a display and an observer, each of the canonical rayssamples the light field using the intensities within its correspondinglight field projector array. That is given a canonical ray X_(O)X_(ij)^(c) , an intensity value is reconstructed based on a resamplingoperation performed on the intensity values contained in the light fieldprojector image, LFP_(ij). A common model employed here gives each rayimplied by the light field projector image a spot width. This spot widthallows one to describe a physical reconstruction of a light field, bygiving each projector intensity value a physical angular spread.

To simplify the analysis, the point spread function (PSF) model isignored to some extent. Instead, it is assumed that the canonical rayssample the light field from a particular LFP_(ij) using a nearestneighbor interpolation scheme. Consider a ray from a canonical imagecorresponding to the intensity value I_(c)[D, O](i,j), for some (i,j).We supposed the ray vector X_(O)X_(ij) ^(c) can be represented usingspherical coordinates as (θ_(ij), ϕ_(ij)). Let(u _(n) ^(ij) ,v _(n) ^(ij))=argmin_(u,v) arccos( X _(O) X _(ij) ^(c) ·P _(u,v) )

The indices (u_(n), v_(n)) represent the light field projector pixelwhich has minimum angular distance from the sampling canonical ray.Thus, by this nearest neighbor interpolation:I _(c)[D,O](i,j)=LFP _(ij)(u _(n) ^(ij) ,v _(n) ^(ij))

This reconstruction model allows for an initially simpler analysis andunderstanding of the sampling geometry.

Based on the depth of field, or DoF, of a display concept, the abilityof a 3D display to represent spatial resolution decreases as objectsmove beyond the maximum depth of field. Current light field ormulti-view displays appear to suffer from a small depth of field, due torelatively poor angular resolution and sampling density. It is obviousfrom viewing these displays that objects at any significant depth intothe screen become quite blurry.

Objects in a 2D display, while lacking the additional perceptual cues ofa 3D display, do not become unnaturally blurred at distance. In astandard 2D display, 3D objects that appear deep in a scene that arevirtually distant from the display surface degrade in a natural wayrelative to the maximum resolution of the display. That is, as an objectbecomes more distant from the 2D display, its projected area on the 2Ddisplay is less, thus the number of pixels representing this projectedarea decrease with the size of the area. This corresponds to how moredistant objects are projected to a smaller area on the retina (or animaging plane of a camera) and thus less detail can be resolved.However, in a 3D display with relatively low angular resolution, objectsat distance become blurry and are not represented at a resolutionproportional to their projected area on the display surface.

It is proposed to measure the effective spatial resolution of a 3Ddisplay at depth in terms of how it compares to a pseudo equivalent 2Ddisplay. A 3D display is used to mimic a 2D display in a way byconsidering how a 3D display presents a fronto-parallel plane located inthe display's inner frustum region. The plane's size increases withdepth in order to fill the entire width of the viewing frustum relativeto a given observer position. Let d_(p) denote the z coordinate of theplane. This plane is referred hereto as plane P_(C)(d_(p), O).

Consider an observer O located at (x_(O), z_(O)). Let the width of thedisplay D be ω. A plane is constructed such that for an observer at(x_(O), z_(O)), at whatever depth the plane is placed, its size is suchthat the plane projects onto each spatial pixel of the display. In otherwords, what is seen on the plane will take up the entire space of thedisplay's surface.

To calculate the width W for the constructed plane located at depthd_(p), a formula based on the geometry of similar triangles is used. Itshould be noted the positive z axis is pointing toward the observer fromthe display making d_(p) a negative value in:

$W = {\omega\frac{z_{O} - d_{p}}{z_{O}}}$

Analysis has been conducted using a 1D display, for simplicity. For 1Danalysis, a display will be defined asD=(M _(x) ,N _(u) ,ƒ,D _(LP))

With light field projectors which are addressable as LFP_(i)(u) forsuitable u in the defined range. The observer will be defined asO=(X_(O)) with X_(O) being an x and z coordinate only. We let X_(i) ^(C)denote the center of LFP_(i). The set of canonical rays of observer Orelative to display D are{ X _(O) X _(i) ^(C) |1≤i≤M _(x)}

The canonical image produced is I_(C){D, O](x). A canonical rayX_(O)X_(i) ^(C) has an angular representation θ_(i). Each of the N_(u)elements of LFP_(i)(u) has an angular representation θ(u) and a spatialvector representation which is denoted as P_(u) . For nearest neighborinterpolationI _(C)[D,O](i)=LFP _(i)(u _(n) ^(i))

Where:u _(n) ^(i)=argmin|θ_(i)−θ(u)|Effective Resolution for Inner Frustum

To answer the question of how the resolution of a given observerdegrades for scene elements in terms of distance from the displaysurface, the analysis is restricted to depths located in the innerfrustum of the display. For simplicity, assumed as a 1-D display.

To quantify the effective resolution at depth, the key question toanswer in this setting is: How do light field projector rays thatcontribute to reconstructing the incident canonical rays sample theplane P_(C)(d_(p), O)? Modelled here are two sampling steps: (1) lightfield projector rays sample the plane and (2) incident canonical rayssample the light field from a subset of the light field projector rays.The problem is simplified by assuming that a canonical ray sample isconstructed using just one element of a light field projector throughnearest neighbor interpolation.

Theorem 1

Assume a display D=(M_(x), N_(u), ƒ, D_(LP)) and an observer O=(X_(O),D_(O), ƒ_(O)). Let z_(O)=ω=M_(x)D_(LP). Therefore, effective resolutionat depth, d_(p), may be estimated by:

$P_{x} = \frac{\omega\frac{z_{o} - d_{p}}{z_{o}}}{D_{LP} + {{- d_{p}}\frac{2\mspace{11mu}{\tan\mspace{11mu}}^{\theta_{FOV}}/_{2}}{N_{u}}}}$Proof:

Assume a plane P(d_(p), O). Distances are defined related to how therays of the light field projectors sample the inner frustum and thus theplane P(d_(p), O). Consider the set of M_(x) canonical rays C={c₁, . . ., c_(M) _(x) }, labeled such that c_(i) is the ray that intersectsLFP_(i). The intensity associated with the ray c_(i) then is I_(C)[D,O](i).

Based on the defined nearest neighbor scheme, each ray c_(i)∈C is mappedto a corresponding ray in LFP_(i), indexed by u_(n) ^(i) as definedpreviously. There are two possible cases. In the first case, twoadjacent canonical rays c_(i) and c_(i+1) both have nearest neighbors intheir corresponding light field projectors, (LFP_(i), LFP_(i+1)) withthe same angle. That is, u_(n) ^(i+1)=u_(n) ^(i). Another way to look atthis is that adjacent canonical rays are mapped to parallel light fieldprojector rays. In the second possible case, two adjacent canonical raysc_(i) and c_(i+1) are mapped to distinct rays in their correspondinglight field projectors. That is, u_(n) ^(i+1)=u_(n) ^(i)+k, for integerk≥1. For displays where N<M_(x) and assuming that an observer stands atdistance at least d_(O) from the display surface, this case will beu_(n) ^(i+1)=u_(n) ^(i)+1.

Distances are now defined based on these two cases. For the first case,and two adjacent LFP rays are parallel with their distance being D_(LP)by definition. In the second case,

${d = {D_{LP} + q}}{q = {{- d_{p}}\frac{2\mspace{11mu}\tan\mspace{11mu}\left( {}^{\theta_{FOV}}/_{2} \right)}{N_{u}}}}$

This combination of parallel samples and diverging samples produces anon-uniform sampling pattern. It is proposed that the effectiveresolution of a display surface depth-observer trio is the size of theplane P_(C)(d_(p), O) divided by the largest sampling distance. This isbecause the largest sampling distance determines the smallest featuresize that is guaranteed to be sampled.

That is to say that a 2D display with resolution P_(X) will have thesame smallest feature size as a particular display-surfacedepth-observer trio. For the inner frustum, the P_(X) will be:

$P_{x} = {\frac{W}{d} = \frac{\omega\frac{z_{o} - d_{p}}{z_{o}}}{D_{LP} + {{- d_{p}}\frac{2\mspace{11mu}\tan\mspace{11mu}\left( {}^{\theta_{FOV}}\text{/}_{2} \right)}{N_{u}}}}}$

Given the formula for an estimate of effective resolution at depth, itis shown that the formula gives a curve with a minimum value in terms ofthe variable d_(p). If the plane is at a very large depth (ie.d_(p)→−∞), the asymptotic minimum effective resolution is:

$B_{x} = {{\lim\limits_{d_{p^{\rightarrow{- \infty}}}}P_{X}} = \frac{\omega N_{u}}{z_{o}2\mspace{11mu}\tan\mspace{11mu}\left( {}^{F0V}\text{/}_{2} \right)}}$Effective Resolution for Outer Frustum

For the outer frustum, the value of d_(p) will be positive based on thecurrent coordinate system. When d_(p) is positive, q becomes negativeand therefore d<D_(LP).

It is proposed that the effective resolution of a display surfacedepth-observer trio is the size of the plane divided by the largestsampling distance which is now D_(LP).

Disparity Encoding/Decoding

The encoded layered scene decomposition representation of a light fieldproduced from a sampling scheme applied to each layer is principallycomprised of a plurality of pixels including RGB color and disparity.Generally speaking, selecting an appropriate bit width for the disparity(depth) field of the pixel is important, as the width of this fieldimproves the accuracy of the operation during reconstruction. However,the use of an increased number of bits contributes negatively to thecompression rate achieved.

In the present disclosure, each layer of RGB color and disparity pixelsspecified by the given sampling scheme has a specific range of disparitycorresponding to the individual pixels. The present disclosure exploitsthis narrow range of disparity within each layered scene decompositionlayer to increase the accuracy of the depth information. In conventionalpixel representations, the range of disparity for an entire scene ismapped to a fixed number of values. For example, in 10-bit disparityencoding, there can only be 1024 distinct depth values. In the layeredscene decomposition of the present disclosure, the same fixed number ofvalues are applied to each layered scene decomposition layer, as eachlayer has known depth boundaries. This is advantageous as thetransmission bandwidth can be reduced by decreasing the width of thedepth channel, while maintaining pixel reconstruction accuracy. Forexample, when the system implements a disparity width of 8-bits and thescene is decomposed into 8 layered scene decomposition layers, a totalof 2048 distinct disparity values can be used, with each layer having256 distinct possible values based on 8-bit representation. This is moreefficient than mapping the entire range of possible disparity valueswithin the inner or outer frustum to a given number of bits.

The present disclosure utilizes the same number of bits, but the bitsare interpreted and distinctly represent disparity within each layeredscene decomposition layer. Since each layered scene decomposition layeris independent from each other, depth (bit) encoding can differ for eachlayer and can be designed to provide a more accurate fixed-pointrepresentation. For example, a layered scene decomposition layer closerto the display surface has smaller depth values and can use a fixedpoint format with a small number of integer bits and a large number offractional bits, while layered scene decomposition layers further awayfrom the display surface has larger depth values and can use a fixedpoint format with a large number of integer bits and a small number offractional bits. The fractional bits are configurable on a per layerbasis:MinFixedPoint=1/(2^(FractionalBits))MaxFixedPoint=2^(16-FractionalBits)−MinFixedPoint

Disparity is calculated from the depth in the light fieldpost-processing stage and encoded using the following formula:ScaleFactor=(MaxFixedPoint−MinFixedPoint)/(NearClipDisparity−FarClipDisparity)EncodedDisparity=(Disparity−FarClipDisparity)*ScaleFactor+MinFixedPoint

Disparity is decoded using the following formula:ScaleFactor=(MaxFixedPoint−MinFixedPoint)/(NearClipDisparity−FarClipDisparity)UnencodedDisparity=(EncodedDisparity−MinFixedPoint)/ScaleFactor+FarClipDisparityGeneralized and Illustrative Embodiment—CODEC Implementation andApplicationsOverview

The present disclosure defines an encoder-decoder for various types ofangular pixel parameterizations, such as, but not limited to, planarparameterizations, arbitrary display parameterizations, a combination ofparameterizations, or any other configuration or parameterization type.A generalized and illustrative embodiment of the present disclosureprovides a method to generate a synthetic light field formulti-dimensional video streaming, multi-dimensional interactive gaming,or other light field display scenarios. A rendering system and processesare provided that can drive a light field display with real-timeinteractive content. The light field display does not require long-termstorage of light fields, however, the light fields must be rendered andtransmitted at low latency to support an interactive user experience.

FIG. 7 provides a CODEC system overview of the generalized, illustrativeembodiment of the present invention. A gaming engine or interactivegraphics computer (70) transmits three-dimensional scene data to GPU(71). The GPU encodes the data and sends it over the display port (72)to a decoding unit (73) containing a decoding processor such as an FPGAor ASIC. The decoding unit (73) sends decoded data to a light fielddisplay (74).

FIG. 1 illustrates another generalized, exemplary layered scenedecomposition CODEC system, where light field data from a synthetic orvideo data source (50) is input to encoder (51). A GPU (43) encodes theinner frustum volume data, dividing it into a plurality of layers, andGPU (53) encodes the outer frustum volume data, dividing it into anadditional plurality of layers. While FIG. 1 illustrates separate GPUs(43, 53) dedicated for the inner and outer frustum volume layers, asingle GPU can be utilized to process both the inner and outer frustumvolume layers. Each of the layered scene decomposition layers aretransmitted to decoder (52), where the plurality of inner frustum volumelayers (44(1) through 44(*)) and the plurality of outer frustum volumelayers (54(1) through 54(*)) of a light field are decoded and mergedinto a single inner frustum volume layer (45) and a single outer frustumvolume layer (55). As per double frustum rendering, the inner and outerfrustum volumes are then synthesized (merged) into a single,reconstructed set of light field data (56), otherwise referred to hereinas a “final light field” or “display light field”.

FIGS. 10 to 13 illustrate exemplary CODEC process implementationsaccording to the present disclosure.

FIG. 10 illustrates an exemplary layered scene decomposition CODECmethod, whereby 3D scene data in the format of image description orlight field data is loaded to an encoder (400) for encoding, whereupondata (sub)sets as illustrated in the figure, or alternatively the entiredata set representing the 3D scene is partitioned (403). In the case ofthe identification of 3D scene data subsets for partitioning (402), itis understood that the identification process is a general process stepreference which is intended to simply refer to the ability to partitionthe data set in one pass, or in groupings (e.g. to encode inner frustumand outer frustum data layers as illustrated in more detail in FIG. 11),as may be desired according to the circumstances. In this regard, theidentification of data subsets may imply pre-encoding processing stepsor processing steps also forming part of the encoding sub-process stage(401). Data subsets may be tagged, specified, confirmed, scanned andeven compiled or grouped at the time of partitioning to produce a set oflayers (decomposition of the 3D scene) (403). Following the partitioningof data subsets (403), each data layer is sampled and rendered accordingthe present disclosure to produce compressed (image) data (404).Following data layer compression the compressed data is transmitted to adecoder (405) for the decoding sub-process (406) comprisingdecompression, decoding and re-composition steps to (re)construct a setof light fields (407), otherwise referred to herein as “layered lightfields”, layered light field images and light field layers. Theconstructed layered light fields are merged to produce the final lightfield (408) displaying the 3D scene (409).

An exemplary, parallel CODEC process is illustrated in FIG. 13 foroptimizing the delivery of a light field representing a 3D scene inreal-time (e.g. to minimize artifacts). The process comprises the stepsof loading 3D scene data to an encoder (700), encoding and compressingthe residue encoded representation (701) of the final light field,transmitting the residue encoded representation (702) to a decoder,decoding the residue encoded representation and using the residueencoded representation with the core encoded representation to producethe final light field (703) and display the 3D scene at a display (704).

FIG. 11 illustrates an embodiment related to the embodiment shown inFIG. 10 in that two data (sub)sets; the inner frustum layer (502), andthe outer frustum layer (503), that are derived based on the 3D scenedata (500) are identified for partitioning (501) and the partitioning ofeach data set into layers of differential depths is implementedaccording to two different layering schemes for each data set (504,505), i.e. equivalent to a plurality of data layers. Each set(plurality) of data layers (506, 507) representing an inner frustum andouter frustum volume of a light field display respectively aresubsequently sampled on a per layer basis according to sampling scheme(508, 509); and each sampled layer is rendered to compress the data andproduce two sets of compressed (image) data (510, 511) in process steps(508, 509), respectively. The sets of compressed data (510, 511)encoding the sets of light fields corresponding to the sets of datalayers (506, 507), are then combined (512) to produce a layered, coreencoded representation (513) (CER) of a final (display) light field.

FIG. 12 illustrates an embodiment of a CODEC method or process toreconstruct a set of light fields and produce a final light field at adisplay. The set of light fields (layered light fields) is(re)constructed from the core encoded representation (513) usingmulti-stage view synthesis protocols (600). A protocol (designated asVS1-VS8) is applied (601-608) to each of the eight layers of the coreencoded representation (513), which protocols may or may not bedifferent depending on characteristics of each data layer light field tobe decoded. Each protocol may apply a form of non-linear interpolationtermed herein as edge adaptive interpolation (609) to provide good imageresolution and sharpness in the set(s) of layered light fields (610)reconstructed from the core encoded representation of said fields ensureimage sharpness. The layered light fields (610) are merged, in this caseillustrating the merging of two sets of light fields (611, 612)corresponding to two data subsets to produce two sets of merged lightfields (613, 614). The merged sets of light fields (613, 614) mayrepresent, for example, the inner frustrum and outer frustum volumes ofa final light field and can be accordingly merged (615) to produce saidfinal light field (616) at a display.

CODEC Encoder/Encoding

Encoding according to the present disclosure is designed to support thegeneration of real-time interactive content (for example, for gaming orsimulation environments) as well as existing multi-dimensional datasetscaptured through light field generalized pinhole cameras or cameraarrays.

For a light field display D, a layered scene decomposition L, and asampling scheme S, the system encoder produces the elemental imagesassociated with the light fields corresponding to each layered scenedecomposition layer included in the sampling scheme. Each elementalimage corresponds to a generalized pinhole camera. The elemental imagesare sampled at the resolution specified by the sampling scheme and eachelemental image includes a depth map.

Achieving rendering performance to drive real-time interactive contentto multi-dimensional display with a significantly high resolution andsize presented significant challenges overcome with the application of ahybrid or combination rendering approach to resolve the deficiencies ofrelying solely on any one technique as described herein.

When given identity function α, the set of generalized pinhole camerasspecified by the encoding scheme for a given layered scene decompositionlayer can be systematically rendered using standard graphics viewportrendering. This rendering method results in a high number of draw calls,particularly for layered scene decomposition layers with samplingschemes including large numbers of the underlying elemental images.Therefore, in a system utilizing layered scene decomposition forrealistic, autostereoscopic light field displays, this rendering methodalone does not provide real-time performance.

A rendering technique utilizing standard graphics draw calls restrictsthe rendering of a generalized pinhole camera's planar parameterizations(identity function α) to perspective transformations. Hardware-optimizedrasterization functions provide the performance required forhigh-quality real-time rendering in traditional two-dimensionaldisplays. These accelerated hardware functions are based on planarparameterizations. Alternatively, parallel oblique projections canutilize standard rasterized graphics pipelines to render generalizedpinhole camera planar parameterizations.

The present disclosure contemplates the application of rasterization torender the generalized pinhole camera views by converting sets oftriangles into pixels on the display surface. When rendering largenumbers of views, every triangle must be rasterized in every view;oblique rendering reduces the number of rendering passes required foreach layered scene decomposition layer and can accommodate any arbitraryidentity function α. The system utilizes one parallel oblique projectionper angle specified by the identity function α. Once the data isrendered, the system executes a “slice and dice” block transform (seeU.S. Pat. Nos. 6,549,308 and 7,436,537) to re-group the stored data fromits by-angle grouping into an elemental image grouping. The “slice anddice” method alone is inefficient for real-time interactive contentrequiring many separate oblique rendering draw calls when a large numberof angles are to be rendered.

An arbitrary identity function α can also be accommodated by aray-tracing rendering system. In ray tracing, specifying arbitraryangles does not require higher performance than accepting planarparameterizations. However, for real-time interactive content requiringrendering systems utilizing the latest accelerated GPUs, rasterizationprovides more reliable performance scalability than ray tracingrendering systems.

The present disclosure provides several hybrid rendering approaches toefficiently encode a light field. In one embodiment, encoding schemesrender layered scene decomposition layers located closer to the displaysurface, with more images requiring less angular samples, and layerslocated further away from the display surface, with less images and moreangular samples. In a related embodiment, perspective rendering, obliquerendering, and ray tracing are combined to render layered scenedecomposition layers; these rendering techniques can be implemented in avariety of interleaved rendering methods.

According to the generalized, illustrative embodiment of the disclosure,one or more light fields are encoded by a GPU rendering an array oftwo-dimensional pinhole cameras. The rendered representation is createdby computing the pixels from the sampling scheme applied to each of thelayered scene decomposition layers. A pixel shader performs the encodingalgorithm. Typical GPUs are optimized to produce a maximum of 2 to 4pinhole camera views per scene in one transmission frame. The presentdisclosure requires rendering hundreds or thousands of pinhole cameraviews simultaneously, thus multiple rendering techniques are employed torender data more efficiently.

In one optimized approach, the generalized pinhole cameras in thelayered scene decomposition layers located further away from the displaysurface are rendered using standard graphics pipeline viewportoperations, known as perspective rendering. The generalized pinholecameras in the layered scene decomposition layers located closer to thedisplay surface are rendered using the “slice and dice” block transform.Combining these methods provides high efficiency rendering for layeredplenoptic sampling theory sampling schemes. The present disclosureprovides layered scene decomposition layers wherein layers locatedfurther away from the display surface contain a smaller number ofelemental images with a higher resolution and layers located closer tothe display surface contain a greater number of elemental images with alower resolution. Rendering the smaller number of elemental images inthe layers further away from the display surface with perspectiverendering is efficient, as the method requires only a single draw callfor each elemental image. However, at some point, perspective renderingbecomes or is inefficient for layers located closer to the displaysurface, as these layers contain a greater number of elemental images,requiring an increased number of draw calls. Since elemental imageslocated in layers located closer to the display surface correspond to arelatively small number of angles, oblique rendering can efficientlyrender these elemental images with a reduced number of draw calls. Inone embodiment a process to determine where the system should utilizeperspective rendering, oblique rendering, or ray tracing to render thelayered scene decomposition layers is provided. Applying a thresholdalgorithm, each layered scene decomposition layer is evaluated tocompare the number of elemental images to be rendered (i.e., the numberof perspective rendering draw calls) to the size of the elemental imagesrequired at the particular layer depth (i.e., the number of obliquerendering draw calls), and the system implements the rendering method(technique) requiring the least number of rendering draw calls.

Where standard graphics calls cannot be utilized, the system canimplement ray tracing instead of perspective or oblique rendering.Accordingly, in another embodiment, an alternative rendering methodrenders layers located closer to the display surface, or a portion ofthe layers located closer to the display surface, using ray tracing.

In ray-tracing rendering systems, each pixel in a layered scenedecomposition layer is associated with a light ray defined by the lightfield. Each ray is cast and the intersection with the layered scenedecomposition is computed as per standard ray tracing methodologies. Raytracing is advantageous when rendering an identity function α which doesnot adhere to the standard planar parameterizations expected by thestandard GPU rendering pipeline, as ray tracing can accommodate thearbitrary ray angles that are challenging for traditional GPU rendering.

When a hogel projects pixel into space not every pixel will be useful.Consider the top left hogel of a display projecting a pixel up and tothe left. The only time this pixel would be seen by an observer would beif the observer was in a location where the top left hogel is at thebottom right boundary of the observer's field of view. From thislocation, every other hogel in the display would be viewed from a largerangle than the field of view allows for and as a result every otherhogel would be turned off except the top left hogel. This observerlocation as specified is not in a useful viewing location and if the topleft pixel of the top left hogel were turned off it would beinconsequential. This discussion uses the concept of a valid viewingzone. The valid viewing zone is a set of all locations in space where anobserver can view every hogel on the display at an angle within thefield of view and as a result receives a pixel from each hogel. Thiszone will be where the projection frustum of every hogel intersects.

The definition of the valid viewing zone can be effectively slimmed downto where the projection frustum of the four corner hogels intersect. Thecorners are the most extreme cases so if a location is within theprojection frustum of the four corners the location is also within thevalid viewing zone. This approach also introduces the concept of amaximum viewing distance which is the constraint introduced in order torealize these savings and efficiencies. Without the maximum viewingdistance, the viewing frustum is a rectangular pyramid whose tip isoriented along the negative display normal and whose base is at aninfinite depth from the display (i.e. a standard frustum). Introducing amaximum viewing distance, the base of the rectangular pyramid now has abase whose distance is the same as the maximum viewing distance. Theapproach taken to realize savings is not rendering or sending pixelsthat will not be projected into the valid viewing zone and are thereforewasteful. The number of pixels that are needed for a specified maximumviewing distance is the hogel fill factor. The hogel fill factor is theratio between the viewing zone size and the hogel projection size at agiven depth (i.e. in 2D, if the hogel projection has a width of 1 m andthe viewing zone has a width of 0.5 m than only half the projectedpixels were needed).

DW represents the display width in meters, MVD is the minimum viewdistance (in meters) FOV is the field of view (in degrees). The maximumviewing distance is defined as MVD+y, where y represents the size ofusable range in meters. From similar geometry, angle b is equal to anglea, where angle b is equal to the field of view (in degrees). The widthof the viewing zone, labeled c, is defined by the equation:

$c = {\tan\mspace{14mu}\left( \frac{FOV}{2} \right)*2*y}$

The width of the hogel projection is defined by the equation:

$e = {\tan\mspace{14mu}\left( \frac{FOV}{2} \right)*2*\left( {y + {MVD}} \right)}$

The hogel fill factor in 2D is the ratio between c and e, therefore:

${{hogel}\mspace{14mu}{fill}\mspace{14mu}{factor}} = \frac{\tan\mspace{11mu}\left( \frac{FOV}{2} \right)*2*y}{\tan\mspace{11mu}\left( \frac{FOV}{2} \right)*2*\left( {y + {MVD}} \right)}$

Which reduces to:

${{hogel}\mspace{14mu}{fill}\mspace{14mu}{factor}} = \frac{y}{\left( {y + {MVD}} \right)}$

If this is applied in 3D, then the hogel fill factor is applied alongboth (x,y). As a result, the hogel fill factor is defined as:

${{hogel}\mspace{14mu}{fill}\mspace{14mu}{factor}} = \left( \frac{y}{y + {MVD}} \right)^{2}$

The result of increasing or decreasing the hogel fill factor is anincrease or decrease in maximum viewing depth respectively.

Ray Trace Pixels in Corrected Sample Pattern

A strategy to produce a corrected light field is to rasterize a lightfield and then apply a per pixel warp operation. Where the pixel issupposed to go is determined by a characterization routine that involvesimaging the display. How a light field is warped depends on an equationwhose form does not change but has coefficients that do change. Thesecoefficients are unique to each display. The idea behind the correction(but not literally how it works) is that if pixel was supposed to be atX but instead was measured at X+0.1 the pixel would be warped tolocation X−0.1 in anticipation that it will be measured at X. The goalis to have the measured location match the intended location.

This strategy of generation on a uniform grid followed by warping to thecorrect grid could be replaced with sampling the correct gridimmediately using ray tracing. Rasterization is a uniform grid operationwhile ray tracing is generalized sampling. This would also help maintainthe light field integrity. Consider a white pixel in a sea of black. Thecorrection for a first lens system calls for both a horizontal andvertical shift of +0.5. The result is 4 gray pixels in a 2×2 gridsurrounding 0.5,0.5. The display lens calls for both a horizontal andvertical shift of −0.5. The result is a 3×3 grid of illuminated pixels,a bright gray pixel in the center, four dimmer gray pixels on the foursides, and four dimmer gray pixels on the four corners. This dispersionof energy wouldn't happen if the pixels were originally sampledcorrectly. It seems unlikely that ray tracing will be faster thanrasterization but the entire pipeline might be quicker if correction wascut out and only half the light field was capture as per the calculatedhogel fill factor.

Screen Space Ray Tracing

An alternative to the warping approach to view synthesis is screen spaceray tracing. McGuire et al. propose application of screen space raytracing to multiple depth layers (for robustness). These depth layersare those that are produced by depth peeling. However, the depth peelingalgorithm is slow, therefore when using modern GPUs, single-pass methodsare preferred, e.g., Mara et al., based around reverse reprojection,multiple viewport, and multiple rasterization.

There is potential to combine screen space ray tracing with layeredscene decomposition. Individual rays are traced based on the views thatare known. From this, the result is an image indicating the color ateach pixel. For a layered scene decomposition CODEC process, an encodedform of a light field is created and represented as layers with missingpixels. These pixels can be reconstructed using screen space ray tracingfrom the pixels present in the encoded representation. Thisrepresentation can be elemental images or layered elemental images inthe form of a deep G-buffer for example. In McGuire et al. it isdescribed one technique for doing this, using an acceleration datastructure for the layered depth image type representation. This standsin contrast to methods that trace rays at polygonal or object levelrepresentations which also are used effectively with data structuresthat accelerate ray intersection.

Many real-time rendering techniques operate in screen-space in order tobe computationally efficient, including techniques for approximatingrealistic lighting, such as, but not limited to, screen-space ambientocclusion, soft shadows, and camera effects such as depth of field.These screen-space techniques are approximate algorithms thattraditionally work by ray tracing 3D geometry. Many of these algorithmsuse screen-space ray tracing, or rather ray marching as described bySousa et al. Ray marching is desirable as no additional data structureneeds to be built. Classic ray marching methods, like DigitalDifferential Analyzer (DDA), are susceptible to over and under-sampling,unless perspective is accounted for. Most screen-space ray tracingmethods use only a single depth layer. Combination of this techniquewith the layered scene decomposition allows the algorithms to work on asubset of the scene, rather than through multiple depth layers, and dueto the optimized partitioning of the scene into subsets, ray hitdistance may be reduced.

The skilled technician in the field to which the invention pertains willappreciate that there are multiple rendering methods and combinations ofrendering methods that can successfully encode the layered scenedecomposition elemental images. Other rendering methods may provideefficiency in different contexts, dependent upon the system's underlyingcomputational architecture, the utilized sampling scheme, and theidentity function α of the light field display.

CODEC Decoder/Decoding

Decoding according to the present disclosure is designed to exploit theencoding strategy (sampling and rendering). The core representation as aset of layered light fields from a downsampled layered scenedecomposition is decoded to reconstruct the light fields LF^(O) andLF^(P). Consider a display D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP))with a layered scene decomposition L=(K₁, K₂, L^(O), L^(P)) and anassociated sampling scheme S=(M_(S), R). The elemental images aredecoded by reconstructing the light fields LF^(O) and LF^(P) fromdeconstructed LF^(O) and LF^(P) light fields downsampled as specified bysampling scheme S. The pixels align such that the inner and outerfrustum volume layers located closer to the display surface are reviewedfirst, moving to inner and outer frustum volume layers located furtheraway from the display surface until a non-empty pixel is located, andthe data from the non-empty pixel is transmitted to the empty pixelcloser to the display surface. In an alternative embodiment, particularimplementations may restrict viewing to the inner frustum volume or theouter frustum volume of the light field display, thereby requiring thedecoding of one of LF^(O) or LF^(P).

In one embodiment, a decoding process is represented by the followingpseudocode:

-   -   Core Layered Decoding:    -   for each l_(i)∈L^(O):    -   ReconLF(LF_(l) _(i) , D_(m)[LF_(l) _(i) ], S)    -   LF^(O)=LF_(l) _(i) *_(m) LF_(l) _(i−1) // or LF_(l) _(i) *_(m)        LF_(l) _(i+1) (front-back vs. back-front)

A similar procedure reconstructs LF^(P). Each layered scenedecomposition layer is reconstructed from the limited samples defined bythe given sampling scheme S. Each of the inner frustum volume layers orthe outer frustum volume layers are merged to reproduce LF^(O) orLF^(P).

ReconLF can be executed in various forms with varying computational andpost-CODEC image quality properties. ReconLF may be defined as afunction, such that, given a light field associated with a layer thathas been sampling according to given sampling scheme S, and thecorresponding depth map for the light field, it reconstructs the fulllight field that has been sampled. The ReconLF input is the subset ofLF_(l) _(i) data defined by the given sampling scheme S and thecorresponding downsampled depth map D_(m)[LF_(l) _(i) ]. Depth-ImageBased Rendering (DIBR), as described by Graziosi et al., can reconstructthe input light field. DIBR can be classified as a projection renderingmethod. In contrast to re-projection techniques, ray-casting methods,such as the screen space ray casting taught by Widmer et al., canreconstruct the light fields. Ray casting enables greater flexibilitythan re-projection but increases computational resource requirements.

In the DIBR approach, elemental images specified in the sampling schemeS are used as reference “views” to synthesize the missing elementalimages from the light field. As described by Vincent Jantet in “LayeredDepth Images for Multi-View Coding” and by Graziosi et al., when thesystem uses DIBR reconstruction, the process typically includes forwardwarping, merging, and back projection.

Application of the back-projection technique avoids producing cracks andsampling artifacts in synthesized views such as elemental images.Back-projection assumes that the elemental image's depth map ordisparity map is synthesized along with the necessary reference imagesrequired to reconstruct the target image; such synthesis usually occursthrough a forward warping process. With the disparity value for eachpixel in the target image, the system warps the pixel to a correspondinglocation in a reference image; typically, this reference image locationis not aligned on the integer pixel grid, so a value from theneighboring pixel values must be interpolated. Implementations of backprojection known in the art use simple linear interpolation. Linearinterpolation, however, can be problematic. If the warped referenceimage location sits on or near an object edge boundary, the interpolatedvalue can exhibit significant artifacts, as information from across theedge boundary is included in the interpolation operation. Thesynthesized image is generated with a “smeared”' or blurred edge.

The present disclosure provides a back-projection technique for theinterpolation substep, producing a high-quality synthesized imagewithout smeared or blurred edges. The present disclosure introducesedge-adaptive interpolation (EAI), where the system incorporates depthmap information to identify the pixels required by the interpolationoperation to calculate the colour of the warped pixels in a referenceimage. EAI is a nonlinear interpolation procedure that adapts andpreserves edges during low-pass filtering operations. Consider a displayD=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) with a target image I_(t)(x,y), a reference image I_(r)(x,y), and depth maps D_(m)(I_(t)) andD_(m)(I_(r)). The present disclosure utilizes the depth map D_(m)(I_(t))pinhole camera parameters (ƒ, α, etc.) and the relative position of thedisplay's array of planar-parameterized pinhole projectors to warp eachI_(t) pixel integer (x,y) to a real-number position (x_(w), y_(w)) inI_(r). In the likely scenario where (x_(w), y_(w)) is not located on aninteger coordinate position, a value must be reconstructed based onI_(r) integer samples.

Linear interpolation methods known in the art reconstruct I_(r)(x_(w),y_(w)) from the four nearest integer coordinates located in a 2×2 pixelneighborhood. Alternate reconstruction methods use larger neighborhoods(such as 3×3 pixel neighborhoods), generating similar results withvarying reconstruction quality (see Marschner et al., “An evaluation ofreconstruction filters for volume rendering”). These linearinterpolation methods have no knowledge of the underlying geometry ofthe signal. The smeared or blurred edge images occur when thereconstruction utilizes pixel neighbors belonging to different objects,separated by an edge in the images. The erroneous inclusion of colourfrom other objects creates ghosting artifacts. The present disclosureremedies this reconstruction issue by providing a method to weigh oromit pixel neighbors by using the depth map D_(m)(I_(r)) to predict theexistence of edges created when a plurality of objects overlap.

FIG. 3A illustrates textures (80,83), where a sampling location,illustrated as a black dot (86), is back-projected into another imagebeing reconstructed. The sampling location (86) is located near theboundary of a dark object (87) with a white background (88). In a firstreconstruction matrix (81), the full 2×2 pixel neighborhood, each singlewhite pixel represented by a square (89), reconstructs the samplinglocation (86) value using a known technique such as linearinterpolation. This results in a non-white pixel (82), as the darkobject (87) is included in the reconstruction. The second reconstructionmatrix (84) uses the EAI technique of the present disclosure,reconstructing the sampling location (86) from the three neighboringsingle white pixels (90). EAI detects the object edge and omits the darkpixel (87), resulting in the correct white pixel reconstruction (85).

For a fixed, arbitrary coordinate (x_(r), y_(r)) in the target imageI_(t)(x,y), d_(t) defines the location depth:d _(t) =D _(m)[I _(r)(x _(r) ,y _(r))]

The target image coordinate (x_(r), y_(r)) warps to the reference imagecoordinate (x_(w), y_(w)).

For an m-sized neighborhood of points close to (x_(w), y_(w)), the setN_(S)={(x_(i), y_(i))|1≤i≤m}. The weight for each of the neighbors isdefined as:w _(i)=ƒ(d _(t) ,D _(m)[I _(r)](x _(i) ,y _(i))|

Where w_(i) is a function of the depth (x_(r), y_(r)) and the depth ofthe neighbor of (x_(w), y_(w)) corresponding to index i. The followingequation represents an effective w_(i) for a given threshold t_(e):

$w_{i} = \left\{ \begin{matrix}\left. 1 \middle| {d_{t} - {{D_{m}\left\lbrack I_{r} \right\rbrack}\left( {x_{i},y_{i}} \right)}} \middle| {< t_{e}} \right. \\\left. 0 \middle| {d_{t} - {{D_{m}\left\lbrack I_{r} \right\rbrack}\left( {x_{i},y_{i}} \right)}} \middle| {\geq t_{e}} \right.\end{matrix} \right.$

The threshold t_(e) is a feature size parameter. The weight functiondetermines how to reconstruct I_(r)(x_(r), y_(r)):I _(r)(x _(r) ,y _(r))=Recon(w ₁ I _(r)(x ₁ ,y ₁),(w ₂ I _(r)(x ₂ ,y ₂),. . . (w _(m) I _(r)(x _(m) ,y _(m)))

The Recon function can be a simple modified linear interpolation, wherethe w_(i) weights are incorporated with standard weighting proceduresand re-normalized to maintain a total weight of 1.

The present disclosure also provides a performance-optimized decodingmethod for reconstructing the layered scene decomposition. Consider adisplay D=(M_(x), M_(y), N_(u), N_(v), ƒ, α, D_(LP)) with a layeredscene decomposition L=(K₁, K₂, L^(O), L^(P)) and an associated samplingscheme S=(M_(S), R). The elemental images are decoded by reconstructingthe light fields LF^(O) and LF^(P) from deconstructed LF^(O) and LF^(P)light fields downsampled as specified by sampling scheme S. As notedabove, particular implementations may restrict viewing to the innerfrustum volume or the outer frustum volume of the light field display,thereby requiring the decoding of one of LF^(O) or LF^(P).

LF^(O) can be reconstructed by decoding the elemental images specifiedby sampling scheme S. The ReconLF method for particular layers does notinclude inherent constraints regarding the order that the missing pixelsof the missing elemental images are to be reconstructed. It is an objectof the present disclosure to reconstruct missing pixels using a methodthat maximizes throughput; a light field large enough for an effectivelight field display requires an exceptional amount of data throughput toprovide content at an interactive frame rate, therefore improvedreconstruction data transmission is required.

FIG. 3B illustrates a general process flow for reconstructing a pixelarray. Reconstruction starts (30), followed by implementing a samplingscheme (31). Pixels are then synthesized by column (32) in the array andalso synthesized by row (33), which can be done in either order. Oncethe synthesis of all pixels has been done by column and row the pixelreconstruction is complete (34).

The present disclosure introduces a basic set of constraints to improvepixel reconstruction with improved data transmission for content at aninteractive frame rate. Consider a single light field L_(i)∈L_(O)containing M_(X)×M_(y) elemental images, as input to ReconLF. The pixels(in other words, the elemental images) are reconstructed in two basicpasses. Each pass operates in separate dimensions of the array ofelemental images; the system executes the first pass as a columndecoding, and the second pass as a row decoding, to reconstruct each ofthe pixels. While the present disclosure describes a system employingcolumn decoding followed by row decoding, this is not meant to limit thescope and spirit of the invention, as a system employing row decodingfollowed by column decoding can also be utilized.

In the first pass, the elemental images specified by sampling scheme Sare used as reference pixels to fill in missing pixels. FIG. 4illustrates the elemental images in the matrix as B, or blue pixels(60). The missing pixels (61) are synthesized strictly from referencepixels in the same column. FIG. 5 illustrates schematically acolumn-wise reconstruction of a pixel matrix, as part of the image(pixel) reconstruction process showing column-wise reconstruction (63)of red pixels (62) and blue pixels (60). These newly synthesizedcolumn-wise pixels are shown as R, or red pixels (62) in FIG. 5 next toblue pixels (60) and missing pixels (61). Newly reconstructed pixelswritten to a buffer and act as further pixel references for the secondpass, which reconstructs pixels reference pixels located in the same rowas other elemental images. FIG. 6 illustrates a subsequent row-wisereconstruction (64) of the pixel matrix, as part of the image (pixel)reconstruction process alongside the column-wise reconstruction (63).These newly synthesized row-wise pixels are shown as G, or green pixels(65) next to blue pixels (60) and red pixels (62).

In one embodiment a process for reconstructing a pixel array isrepresented by the following pseudocode algorithm:

-   -   Dimensional Decomposition Light Field Reconstruction:    -   Pass 1:    -   for each row of elemental images in L_(i)        -   for each missing elemental image in the row        -   for each row in elemental image            -   load (cache) pixels from same row in reference images        -   for each pixel in missing row            -   reconstruct pixel from reference information and write    -   Pass 2:    -   for each column of elemental images in L_(i)        -   for each missing elemental image in the column        -   for each column in elemental image            -   load (cache) reference pixels from same column        -   for each pixel in missing column            -   reconstruct pixel from reference information and write

This performance-optimized decoding method allows the row-decoding andcolumn-decoding constraints to limit the effective working data setrequired for reconstruction operations.

To reconstruct a single row of a missing elemental image, the systemonly requires the corresponding row of pixels from the referenceelemental images. Likewise, to reconstruct a single column of a missingelemental image, the system only requires the corresponding column ofpixels from the reference elemental images. This method requires asmaller dataset, as decoding methods previously known in the art requireentire elemental images for decoding.

Even when decoding relatively large elemental image sizes, the reduceddataset can be stored in a buffer while rows and columns of missingelemental images are being reconstructed, thereby providing improveddata transmission.

Once all the rendered data has been decoded, and each of the pluralityof inner and outer display volume layers are reconstructed, the layersare merged into a single inner display volume layer and a single outerdisplay volume layer. The layered scene decomposition layers can bepartially decompressed in a staged decompression, or can be fullydecompressed simultaneously. Algorithmically, the layered scenedecomposition layers can be decompressed through a front-to-back orback-to-front process. The final double frustum merging process combinesthe inner and outer display volume layers to create the final lightfield for the light field display.

Use of Computational Neural Network with Layered Scene Decomposition

Martin discusses deep learning in light fields presenting thatConvolutional Neural Networks (CNNs). Research on deep learning towardsother light field problems is also ongoing as it is an increasinglypopular approach is to train networks end to end, implying that thenetwork learns all aspects of problem at hand. For example, in viewsynthesis, this avoids using computer vision techniques, such asappearance flow, image inpainting, and depth image-based rendering tomodel certain parts of the network. Martin presents the framework for apipeline concept for view synthesis for light field volume rendering.This pipeline has the ability to be implemented with the layered scenedecomposition method disclosed herein.

Layered scene decomposition achieves multi-dimensional scenedecomposition into layers, or subsets and elemental images, orsubsections. Machine learning is emerging as a learning-based method ofview synthesis. A layered scene decomposition provides a method ofdownsampling of a light field following its decomposition into layers.Previously, this was considered in the context of opaque surfacerendering with Lambertian shaded surfaces. What is desired is a methodof downsampling light fields, as previous, but can be applied withhigher-order lighting models, including semi semi-transparent surfaces,for example, direct volume rendering based lighting models. Volumerendering techniques include but are not limited to direct volumerendering (DVR), texture-based volume rendering, volumetric lighting,two-pass volume rendering with shadows, or procedural rendering.

Direct volume rendering is rendering process which: maps from a volume(e.g. voxel-bases sampling of a scalar field) data-set to a renderedimage without intermediary geometry (no isosurface). Generally, thescalar field defined by the data is considered as a semi-transparent,light emitting medium. A transfer function specifies how the field ismapped to opacity and color and a ray-casting procedure then accumulatesthe local color, opacity along paths from a camera and through thevolume.

Levoy (1988) first presented that direct volume rendering methodsgenerate images of a 3D volumetric data set without explicitlyextracting geometric surfaces from the data. Kniss et al. present thatthough a data set is interpreted as a continuous function in space, forpractical purposes it is represented by a uniform 3D array of samples.In graphics memory, volume data is stored as a stack of 2D textureslices or as a single 3D texture object. The term voxel denotes anindividual “volume element,” similar to the terms pixel for “pictureelement” and texel for “texture element.” Each voxel corresponds to alocation in data space and has one or more data values associated withit. Values at intermediate locations are obtained by interpolating dataat neighboring volume elements. This process is known as reconstructionand plays an important role in volume rendering and processingapplications.

The role of an optical model is to describe how light interacts withparticles within the volume. More complex models account for lightscattering effects by considering illumination (local) and volumetricshadows. Optical parameters are specified by the data values directly,or they are computed from applying one or more transfer functions to thedata to classify particular features in the data.

Martin implements volume rendering using volume data sets and provides adepth buffer to assign a depth value for each individual pixel location.The depth buffer, or z-buffer is converted to a pixel disparity and thedepth buffer value, Z_(b)Z_(b), is converted into normalized coordinatesin the range [−1, 1], as Z_(c)Z_(c)=2·Z_(b)Z_(b)−1. Then the perspectiveprojection is inverted to give depth in eye space, Z_(e), as:

$Z_{e} = \frac{{2 \cdot}{Z_{n} \cdot Z_{f}}}{Z_{n} + Z_{f} - {Z_{c}\left( {Z_{f} - Z_{n}} \right)}}$

Where Z_(n) is the depth of the camera's near plane and Z_(ƒ) is thedepth of the far plane in eye space. Wanner et al. presents that Z_(n)should be set as high as possible to improve depth buffer accuracy,while Z_(ƒ) has little effect on the accuracy. Given eye depth Z_(e), itcan be converted to a disparity value dr in real units by the use ofsimilar triangles as:

${dr} = {\frac{B \cdot f}{Z_{e}} - {\Delta x}}$

Where B is the distance between two neighbouring cameras in the grid, ƒis the focal length of the camera, and Δx is the distance between twoneighbouring cameras' principle points. Using similar triangles, thedisparity in real units can be converted to a disparity in pixels as:

${dp} = \frac{drWp}{Wr}$

Where dp and dr denote the disparity in pixels and real-world unitsrespectively, Wp is the image width in pixels, and Wr is the imagesensor width in real units. If the image sensor width in real units isunknown, Wr can be computed from the camera field of view θ and focallength ƒ as:

${Wr} = {{2 \cdot f}\mspace{11mu}\tan\mspace{11mu}\left( \frac{\theta}{2} \right)}$

View synthesis may also be formulated through warping. While warping isa simple method to synthesize new views, it can produce visual artifactsthat can degrade the visual quality of the warped image. The most commonof these artifacts are disocclusions, cracks and ghosting.

Disocclusion artifacts or “occlusion holes” occur when a foregroundobject is warped and the reference views do not contain the data for thebackground pixels that are now in view. Occlusion holes can be fixed byinpainting the hole with available background information or filling thehole with actual data captured by extra references or residueinformation.

Warp cracks occur when warping a surface and two pixels that areadjacent in the reference view are warped to the new view and are nowlonger adjacent, but are separated by a small number of pixels. Roundingerrors can cause warp cracks because the newly calculated pixelcoordinates have to be truncated to integer image coordinates, which cancause an adjacent pixel to round differently. Sampling frequency cancause warp cracks by trying to warp a surface into an orientation thatincreases its pixel count, i.e. plane slanted to a camera and thenviewed perpendicular. The new view will want to display pixels that werebeyond the sampling frequency of the reference camera, leading to cracksin the new image.

Ghosting can occur during the backward warping interpolation phase. Herethe back projected pixel neighborhood contains pixels from both abackground and foreground object. Pixels from the foreground can bleedcolor information into the background which can cause a “halo” orghosting effect. These usually occur around an occlusion holes and bleedforeground color into the background.

One of the main problems with forward warping is that the warped imagecan contain warp cracks which degrade the visual quality. Depth mapsgenerated with forward warping can easily be fixed by merging multipleviews warped from different references or by applying a crack filter.Filters, like a median filter, can effectively remove cracks because adepth map is a very low frequency image, containing mostly subtlegradients or edges around objects. These simple filters will not work oncolor images due to the complexity of the object textures. A method toremove warp cracks in the color image is to use backward warping. Inbackward warping, you first forward warp the depth image to get a depthmap of the new view. After filtering the cracked depth map, you use thefiltered depth to warp back to a reference image. To prevent cracks fromoccurring, you do not round the pixel coordinates, but instead select apixel neighborhood and use the real pixel weighting to interpolate thecorrect color. This backward warped color image is now free of cracks. Aside effect of the interpolation phase is the possibility to introduceghosting artifacts.

Interactive direct volume rendering is required for interactive viewingof time-varying 4D volume data, as progressive rendering may not workwell for that particular use case as presented by Martin. Example usecases for interactive direct volume rendering include but are notlimited to the rendering of static voxel-based data without artifactsduring rotation, rendering of time-varying voxel-based (e.g. 4D MRI orUltrasound, CFD, wave, meteorological, visual effects (OpenVDB) andother physical simulations, etc.) data.

A proposed solution includes the use of machine learning to learn how to“warp” volumetric scene views, potentially constrained to a particulartransfer function, which communicates how to map density of thedifferent materials to color and then its level of transparency. For afixed transfer function, a Computational Neural Network could be trainedvery well with a modest sized data set to allow a used to define adecoder that only works for volume data and only works for a particulartransfer function. The potential results is a hardware system, or adecoding system, that when the desired transfer function is selected, itwould change the decoder slightly from a different training data set inorder to be able to decode the data has been given.

A proposed method disclosed herein is suited for the rendering of 4Dvolume data. Using current hardware and hardware techniques, it is verydifficult to brute force render light fields of volume data. What isproposed is generating a layered scene decomposition of volume datawhich is to be rendered and decoded using a decoder. Decoding the datais effectively filling in missing pixels or elemental images. Aconvolutional neural network may be trained to solve smaller versions ofthe problem, using the system employing column decoding followed by rowdecoding, in addition, a system employing row decoding followed bycolumn decoding may also be utilized. Martin teaches that in order toperform fast but accurate image warping using a disparity map, a form ofbackward warping with bilinear interpolation is to be implemented. Theestimated disparity map for the central view is used as an estimate forall views. Pixels in the novel view that should read data from alocation that falls outside the border of the reference view are set toread the closest border pixel in the reference view instead.Essentially, this stretches the border of the reference view in thenovel view, rather than producing holes. Since warped pixels rarely fallat integer positions, bilinear interpolation is applied to accumulateinformation from the four nearest pixels in the reference view. Thisresults in fast warping with no holes, and good accuracy. Martin furtherdiscloses a method of training a neural network to apply this correctionfunction. An improvement on this is to teach a neural network compatiblewith layered scene decomposition. This could be further expanded toapply a convolutional neural network for each layer within a layeredscene decomposition that was specifically trained for that layer, eachdepth. A neural network would then be set to perform row reconstructionwhile another neural network would be set to perform columnreconstruction.

Based on the selected criteria, a light field display simulator could beused to train the neural network. A light field display simulatorprovides a high-performance method of exploring the parameterization ofsimulated virtual three-dimensional light field displays. This methoduses a canonical image generation method as part of its computationalprocess to simulate a virtual observer's view(s) of a simulated lightfield display. The canonical image method provides for a robust, fastand versatile method for generating a simulated light field display andthe light field content displayed thereon.

To gain a better understanding of the invention described herein, thefollowing examples are set forth with reference to the Figures. It willbe understood that these examples are intended to describe illustrativeembodiments of the invention and are not intended to limit the scope ofthe invention in any way.

EXAMPLES Example 1 Exemplary Encoder and Encoding Method for a LightField Display

The following illustrative embodiment of the invention is not intendedto limit the scope of the invention as described and claimed herein, asthe invention can successfully implement a plurality of systemparameters. As described above, a conventional display as previouslyknown in the art consists of spatial pixels substantially evenly-spacedand organized in a two-dimensional row, allowing for an idealizeduniform sampling. By contrast, a three-dimensional (3D) display requiresboth spatial and angular samples. While the spatial sampling of atypical three-dimensional display remains uniform, the angular samplescannot necessarily be considered uniform in terms of the display'sfootprint in angular space.

In the illustrative embodiment, a plurality of light fieldplanar-parameterized pinhole projectors provide angular samples, alsoknown as directional components of the light field. The light fielddisplay is designed for a 640×480 spatial resolution and a 512×512angular resolution. The plurality of planar-parameterized pinholeprojectors are idealized with identity function α. The pitch betweeneach of the plurality of planar-parameterized pinhole projectors is 1mm, thereby defining a 640 mm×400 mm display surface. The display has a120° FOV, corresponding to an approximate focal length ƒ=289 μm.

This light field display contains 640×480×512×512=80.5 billion RGBpixels. Each RGB pixel requires 8 bits, therefore one frame of the lightfield display requires 80.5 billion×8×3=1.93 Tb. For a light fielddisplay providing interactive content, data is driven at 30 frames/s,requiring a bandwidth of 1.93 Tb×30 frames/s=58.0 Tb/s. Current displaysknown in the art are driven by DisplayPort technology providing maximumbandwidths of 32.4 Gb/s, therefore such displays would require over 1024DisplayPort cables to provide the tremendous bandwidth required byinteractive light field displays, resulting in cost and form-factordesign constraints.

The illustrative embodiment delivers data to a light field display froma computer equipped with an accelerated GPU with dual DisplayPort 1.3cables output. We consider a conservative maximum throughput of 40 Gb/s.The encoded frames must be small enough for transmission over theDisplayPort connection to a decoding unit physically located closer tothe light field display.

The layered scene decomposition of the illustrative embodiment isdesigned to allow the required data throughput. With the dimensionsdefined above, the maximum depth of field of the light field display isZ_(DOF)=(289 microns) (512)=147968 microns=147.986 mm. The layered scenedecomposition places a plurality of layered scene decomposition layerswithin the depth of field region of the light field display, ensuringthat the distance of the layered scene decomposition layers from thedisplay surface is less than Z_(DOF). This illustrative exampledescribes a light field display with objects located only within theinner frustum volumes of the display. This illustrative example is notintended to limit the scope of the invention, as the invention cansuccessfully implement a plurality of system parameters, such as a lightfield display with objects located only within the outer frustum volumeof the display, or a light field display with objects located withinboth the inner and outer frustum volumes of the display; embodimentslimited to one frustum volume require a smaller number of layered scenedecomposition layers, thereby marginally decreasing the size of theencoded light field to be produced.

The illustrative embodiment defines ten layered scene decompositionlayers. When necessary, additional layered scene decomposition layerscan be added to capture data that could be lost to occlusions, or toincrease the overall compression rate. However, additional layered scenedecomposition layers require additional computation from the decoder,thus the number of layered scene decomposition layers is carefullychosen. The illustrative embodiment specifies the ten layered scenedecomposition layers from their front and back boundaries and assumesthat the dividing boundaries of the layer are parallel to the displaysurface.

Each layered scene decomposition layer is located at a defined distancefrom the display surface, where the distances are specified in terms ofmultiples of focal length ƒ, up to the maximum depth of field of 512ƒ.Layered scene decomposition layers with a more narrow width areconcentrated closer to the display surface, and the layer width (i.e.,the depth difference between the front and back layer boundaries)increases exponentially by powers of 2 as the distance from the displaysurface increases. This embodiment of the invention is not intended tolimit the scope of the invention, as other layer configurations can beimplemented successfully.

The following table (Table 1) describes the layered scene decompositionlayer configurations of the illustrative embodiment, and provides asampling scheme based on plenoptic sampling theory to create sub-sampledlayered scene decomposition layers:

TABLE 1 Total data size Maximum distance required (24 Elemental betweensampled Elemental bit color, 8 bits Front Back image elemental imagesimages for depth/ Layer boundary boundary resolution (sampling gap)sampled disparity) 0  1f  1f 1 × 1  0 640 × 480  7.37 Mbits 1  1f  2f 2× 2  1 321 × 241  9.90 Mbits 2  2f  4f 4 × 4  2 214 × 161  17.64 Mbits 3 4f  8f 8 × 8  4 161 × 97   31.98 Mbits 4  8f  16f 16 × 16  8 72 × 55 32.44 Mbits 5  16f  32f 32 × 32  16 41 × 31  41.65 Mbits 6  32f  64f 64× 64  32 21 × 16  44.04 Mbits 7  64f 128f 128 × 128  64 11 × 9   51.90Mbits 8 128f 256f 256 × 256 128 6 × 5  62.91 Mbits 9 256f 512f 512 × 512256 4 × 3 100.66 Mbits Total: 400.49 Mbits

In the above table, layer 0 captures images that are to be displayed atthe display surface, as in a conventional two-dimensional display knownin the art. Layer 0 contains 640×480 pixels at a fixed depth, so it doesnot require any depth information. The total data size is calculated foreach pixel with an RGB value and a depth value for 8 bits each(alternate embodiments may require larger bit values, such as 16 bits).In the illustrative embodiment, the elemental image resolution andsampling gap are calculated from the formulas described above, and thesampling scheme chosen reflects the elemental image resolution andsampling gap restrictions.

As described in the above table, the combined layered scenedecomposition system has a total size of 400.5 Mb. Therefore, to producedata at a rate of 30 frames/s, a bandwidth of 30×0.4005=12.01 GB/s isrequired. This encoded form is sent over the dual DisplayPort 1.3cables, along with additional information required to represent sceneocclusions.

In the illustrative embodiment, the layered scene decomposition layersare configured by an encoder, efficiently implementing an obliquerendering technique to produce the layers located closer to the displaysurface (layers 0 to 5) and a perspective rendering technique to producethe layers located further away from the display surface (layers 6 to9). Each elemental image corresponds to a single rendering view.

At layer 6, the number of separate angles to be rendered (64×64=4096)exceeds the number of views to be rendered (21×16=336); this signals thetransition in efficiency between the oblique and perspective renderingmethods. It should be noted that specific implementation aspects mayprovide additional overhead that skews the exact optimal transitionpoint. For use with modern graphics acceleration techniques known in theart, perspective rendering can be efficiently implemented using geometryshader instancing. Multiple views are rendered from the same set ofinput scene geometry without repeatedly accessing the geometry throughdraw calls and without repeatedly accessing memory to retrieve the exactsame data.

FIG. 8 illustrates the illustrative embodiment, with ten layered scenedecomposition layers (100-109) in the inner frustum volume (110). Theinner frustum volume layers extend from the display surface (300). Thelayers are defined as described in the table above, for example, thefront boundaries of the inner frustum volume layer 0 (100) is 1f, innerfrustum volume layer 1 (101) is 1f, inner frustum volume layer 2 (102)is 2f, inner frustum volume layer 3 (103) is 4f, and so on. Innerfrustum volume layers (100-105) 0 to 5, or layers closest to the displaysurface (300), are rendered with the oblique rendering technique, andinner frustum volume layers (106-109), 6 to 9 furthest from the displaysurface are rendered with the perspective rendering technique.

FIG. 9 illustrates an alternate embodiment, with ten layered scenedecomposition layers (100-109) in the inner frustum volume (110) and tenlayered scene decomposition layers (200-209) in the outer frustum volume(210). The inner and outer frustum volume layers extend from the displaysurface (300). While the inner and outer frustum volume layers areillustrated as mirror images from each other, the inner and outerfrustum volume may have differing numbers of layers, layers of differentsizes, or layers of different depths. Inner frustum volume layers 0 to 5(100-105) and outer frustum volume layers 0 to 5 (200-205) are renderedwith the oblique rendering technique, and inner frustum volume layers 6to 9 (106-109) and outer frustum volume layers 6 to 9 (206-209) fartherfrom the display surface (300) are rendered with the perspectiverendering technique.

An alternate embodiment can implement the system with a ray-tracingencoding based approach. Rendering a complete layered scenedecomposition layer representation can require increased GPUperformance, even with the optimizations described herein, as GPUs areoptimized for interactive graphics on conventional two-dimensionaldisplays where accelerated rendering of single views is desirable. Thecomputational cost of the ray-tracing approach is a direct function ofthe number of pixels the system is to render. While the layered scenedecomposition layer system contains a comparable number of pixels tosome two-dimensional single view systems, the form and arrangement ofsaid pixels differs greatly due to layer decomposition and correspondingsampling schemes. Therefore, there may be implementations where tracingsome or all of the rays is a more efficient implementation.

Example 2 CODEC Decoder and Decoding Method for a Light Field Display

In the illustrative embodiment of the invention, the decoder receivesthe 12.01 GB/s of encoded core representation data, plus any residuerepresentation data, from the GPU over dual DisplayPort 1.3 cables. Thecompressed core representation data is decoded using a customized FPGA,ASIC, or other integrated circuit to implement efficient decoding(residue representation data is decoded separately, as illustrated inFIG. 13). The 12.01 GB/s core representation is decompressed to 58 Tb/sfor the final light field display. Note that this core representationdoes not include the residue representations necessary to renderocclusions. The

$\frac{58\mspace{14mu}{Tb}/s}{12.01\mspace{20mu}{GB}/s}$provides a compression ratio of 4833:1; while this is a high performancecompression ratio, the reconstructed light field data may still exhibitocclusion-based artifacts unless residue representation data is includedin the reconstruction.

For the illustrative embodiment shown in FIG. 8, data is decoded byreconstructing individual layered scene decomposition layers and mergingthe reconstructed layers into an inner frustum volume layer. For analternate embodiment, such as illustrated in FIG. 9, the data is decodedby reconstructing individual layered scene decomposition layers andmerging the reconstructed layers into an inner frustum volume layer andan outer frustum volume layer.

A single layered scene decomposition layer can be reconstructed fromgiven sampling scheme sampling of data using view synthesis techniquesfrom the field of Image-Based Rendering which are known in the art. Forexample, Graziosi et al. specify using reference elemental images toreconstruct the light field in a single pass. This method uses referenceelemental images offset from the reconstructed image in multipledimensions. Because the elemental image data represents threedimensional scene points (including RGB color and disparity), pixels aredecoded as a nonlinear function (although fixed on the directionalvector between the reference and target elemental images), thereforerequiring a storage buffer of equal size to the decoding referenceelemental images. When decoding larger elemental images, this can creatememory storage or bandwidth constraints, depending on the decodinghardware.

For a light field display with an elemental image size of 512×512 pixelswith 24-bit color, a decoder requires a buffer capable of storing512×512=262,144 24-bit values (without disparity bits in this example).Current high-performance FPGA devices provide internal block memory(BRAM) organized as 18/20-bit wide memory and 1024 memory locationswhich can be used as a 36/40-bit wide memory with 512 memory locations.A buffer capable of reading and writing an image in the same clock cycleis large enough to hold two reference elemental images, as the nonlineardecoding process causes the write port to use a non-deterministic accesspattern. Implementing this buffer in an FPGA device for a 512×512 pixelimage requires 1024 BRAM blocks. Depending on the reconstructionalgorithm used, multiple buffers may be required in each decoderpipeline. To meet the data rate of a high-density light field display,the system may require more than one hundred parallel pipelines, whichis magnitudes more pipelines than current FPGA devices. Because eachbuffer requires an independent read/write port, it may not be possibleto implement such a system on current ASIC devices.

The present disclosure circumvents buffer and memory limitations bydividing the pixel reconstruction process into multiple,single-dimension stages. The present disclosure implements onedimensional reconstruction to fix the directional vector between thereference elemental images and the target to a rectified path. Whilereconstruction remains nonlinear, the reference pixel to be translatedto the target location is locked to the same row or column location ofthe target pixel. Therefore, decoder buffers only need to capture onerow or one column at a time. For the elemental image of 512×512 pixelswith 24-bit color described above, the decoder buffer is organized as a24-bit wide, 1024 deep memory requiring two 36/40×512 BRAM. Therefore,the present disclosure has reduced the memory footprint by a factor of512, or multiple magnitudes. This allows a display pixel fill raterequiring over a hundred decoding pipelines to be supported by currentFPGA devices.

Multi-stage decoding architectures require two stages to reconstruct thetwo dimensional pixel array in a light field display. The two stages areorthogonal to one another and reconstruct rows or columns of elementalimages. The first decoding stage may require a pixel scheduler to ensurethat output pixels ordered to be compatible with the next stage inputpixels. Due to the extremely high bandwidth required by each decodingstage, some output pixels from a previous stage may need to be reused toreduce local storage requirements. In this case, an external buffer canbe used to capture all of the output pixels from a first stage so thesubsequent decoding stage can efficiently access pixel data, reducinglogic resources and memory bandwidth.

The present disclosure's multi-stage decoding with an external memorybuffer allows the decoding process to transfer the required memorybandwidth from expensive on-die memory to lower cost memory devices suchas double data rate (DDR) memory devices. A high-performance decodingpixel scheduler ensures maximum reference pixel reuse from this externalmemory buffer, allowing the system to use narrower or slower memoryinterfaces.

The disclosures of all patents, patent applications, publications anddatabase entries referenced in this specification are herebyspecifically incorporated by reference in their entirety to the sameextent as if each such individual patent, patent application,publication and database entry were specifically and individuallyindicated to be incorporated by reference.

Although the invention has been described with reference to certainspecific embodiments, various modifications thereof will be apparent tothose skilled in the art without departing from the spirit and scope ofthe invention. All such modifications as would be apparent to oneskilled in the art are intended to be included within the scope of thefollowing claims.

REFERENCE LIST

ALPASLAN, ZAHIR Y., EL-GHOROURY, HUSSEIN S., CAI, JINGBO. “ParametricCharacterization of Perceived Light Field Display Resolution”. pages1241-1245, 2016.

BALOGH, TIBOR, KOVÁCS. The Holovizio system—New opportunity offered by3D displays. Proceedings of the TMCE, (May):1-11, 2008.

BANKS, MARTIN S., DAVID M. HOFFMAN, JOOHWAN KIM AND GORDON WETZSTEIN.“3D Displays” Annual Review of Vision Science. 2016. pp. 397-435.

CHAI, JIN-XIANG, XIN TONG, SHING-CHOW CHAN, AND HEUNG-YEUNG SHUM.“Plenoptic Sampling”

CHEN, A., WU M., ZHANG Y., LI N., LU J., GAO S., and YU J., 2018. “DeepSurface Light Fields”. Proc. ACM Comput. Graph. Interact. Tech. 1, 1,Article 14 (July 2018), 17 pages. DOI:https://doi.org/10.1145/3203192

CLARK, JAMES J., MATTHEW R. PALMER AND PETER D. LAWRENCE. “ATransformation Method for the Reconstruction of Functions fromNonuniformly Spaced Samples” IEEE Transactions on Acoustics, Speech, andSignal Processing. October 1985. pp 1151-1165. Vol. ASSP-33, No. 4.

DO, MINH N., DAVY MARCHAND-MAILLET AND MARTIN VETTERLI. “On theBandwidth of the Plenoptic Function” IEEE Transactions on ImageProcessing. pp. 1-9.

DODGSON, N. A. Analysis of the viewing zone of the Cambridgeautostereoscopic display. Applied optics, 35(10):1705-10, 1996.

DODGSON, N. A. Analysis of the viewing zone of multiviewautostereoscopic displays. Electronic Imaging 2002. InternationalSociety for Optics and Photonics, pages pp 254-265, 2002.

GORTLER, STEVEN J., RADEK GRZESZCZUK, RICHARD SZELISKI, AND MICHAEL F.COHEN. “The Lumigraph” 43-52.

GRAZIOSI, D. B., APLASLAN, Z. Y., EL-GHOROURY, H. S., Compression forFull-Parallax Light Field Displays. Proc. SPIE 9011, StereoscopicDisplays and Applications XXV, (MARCH), 90111A. 2014.

GRAZIOSI, D. B., APLASLAN, Z. Y., EL-GHOROURY, H. S., Depth AssistedCompression of Full Parallax Light Fields. Proc. SPIE 9391, StereoscopicDisplays and Applications XXVI, (FEBRUARY), 93910Y. 2015.

HALLE, MICHAEL W. AND ADAM B. KROPP. “Fast Computer Graphics Renderingfor Full Parallax Spatial Displays”. Proc. SPIE 3011, PracticalHolography XI and Holographic Materials III, (10 Apr. 1997).

HALLE, MICHAEL W. Multiple Viewpoint Rendering. In Proceedings of the25th annual conference on Computer graphics and interactive techniques(SIGGRAPH '98). Association for Computing Machinery, New York, N.Y.,USA, 243-254.

JANTET, VINCENT. “Layered Depth Images for Multi-View Coding”Multimedia. pp. 1-135. Universite Rennes 1, 2012. English.

LANMAN, D., WETZSTEIN, G., HIRSCH, M., AND RASKAR, R., Depth of FieldAnalysis for Multilayer Automultiscopic Displays. Journal of Physics:Conference Series, 415(1):012036, 2013.

LEVOY, MARC, AND PAT HANRAHAN. “Light Field Rendering” SIGGRAPH. pp.1-12.

MAARS, A., WATSON, B., HEALEY, C. G., Real-Time View IndependentRasterization for Multi-View Rendering. Eurographic Proceedings, TheEurographics Association. 2017.

MARSCHNER, STEPHEN R. AND RICHARD J. LOBB. “An Evaluation ofReconstruction Filters for Volume Rendering” IEEE VisualizationConference 1994.

MASIA, B., WETZSTEIN, G., ALIAGA, C., RASKAR, R., GUTIERREZ, D., Displayadaptive 3D content remapping. Computers and Graphics (Pergamon),37(8):983-996, 2013.

MATSUBARA, R., ALPASLAN, ZAHIR Y., EL-GHOROURY, HUSSEIN S., Light FieldDisplay Simulation for Light Field Quality Assessment. StereoscopicDisplays and Applications XXVI, 7(9391):93910G, 2015.

PIAO, YAN, AND XIAOYUAN YAN. “Sub-sampling Elemental Images for IntegralImaging Compression” IEEE. pp. 1164-1168.2010.

VETRO, ANTHONY, THOMAS WIEGAND, AND GARY J. SULLIVAN. “Overview of theStereo and Multiview Video Coding Extensions of the H.264/MPEG-4 AVCStandard.” Proceedings of the IEEE. pp. 626-642. April 2011. Vol. 99,No. 4.

WETZSTEIN, G., HIRSCH, M., Tensor Displays: Compressive Light FieldSynthesis using Multilayer Displays with Directional Backlighting. 1920.

WIDMER, S., D. PAJAK, A. SCHULZ, K. PULLI, J. KAUTZ, M. GOESELE, AND D.LUEBKE. An Adaptive Acceleration Structure for Screen-space Ray Tracing.Proceedings of the 7th Conference on High-Performance Graphics, HPG'15,2015.

ZWICKER, M., W. MATUSIK, F. DURAND, H. PFISTER. “Antialiasing forAutomultiscopic 3D Displays” Eurographics Symposium on Rendering. 2006.

The invention claimed is:
 1. A computer-implemented method comprising:receiving a first data set comprising a three-dimensional description ofa scene; partitioning the first data set into a plurality of layers eachrepresenting a portion of the scene at a location with respect to areference location; obtaining, for each of the plurality of layers, oneor more polygons representative of corresponding portions of objects inthe scene; determining, based on the one or more polygons, aview-independent representation; and performing a sampling operation ona corresponding portion of the first data set to encode theview-independent representation as a portion of a second data set,wherein the sampling operation is based on a target compression rateassociated with the second data set and wherein a size of the seconddata set is smaller than a size of the first data set.
 2. The method ofclaim 1, further comprising transmitting the second data set to a remotedevice for the scene to be presented at a display device associated withthe remote device.
 3. The method of claim 1, wherein encoding theview-independent representation comprises: rendering, using ray tracing,a set of pixels to be encoded; selecting multiple elemental images froma plurality of elemental images such that the set of pixels are renderedusing the selected multiple elemental images; and sampling the set ofpixels using a sampling operation.
 4. The method of claim 1, wherein thesampling operation comprises selecting multiple elemental images fromthe corresponding portion of the first data set, in accordance with aplenoptic sampling scheme.
 5. The method of claim 1, wherein performingthe sampling operation comprises: for each of the multiple layers,determining an effective spatial resolution associated with the layer;and selecting multiple elemental images from the corresponding portionof the first data set in accordance with a determined angularresolution.
 6. The method of claim 5, wherein the angular resolution isdetermined as a function of a directional resolution associated with theportion of the scene of the first data set.
 7. The method of claim 5,wherein the angular resolution is determined as a field of viewassociated with a display device.
 8. The method of claim 1, wherein thethree-dimensional description comprises light field data representingelemental images.
 9. The method of claim 8, wherein each of theelemental images is captured by one or more image acquisition devices.10. The method of claim 8, wherein the light field data includes a depthmap corresponding to elemental images.
 11. The method of claim 1,wherein the first data set comprises information on directions ofnormals on surfaces included in the scene, the directions of a normalbeing represented with respect to a reference direction.
 12. The methodof claim 11, wherein reflection properties of at least some of thesurfaces are non-Lambertian.
 13. The method of claim 1, furthercomprising: receiving the second data set; decoding portions of thesecond data set corresponding to each of a set of multiple layers of thesecond data set; combining the decoded portions into a representation ofa light field image; and presenting the light field image on a displaydevice.
 14. The method of claim 13, further comprising: receivinguser-input indicative of a location of a user with respect to the lightfield image; and updating the light field image in accordance with theuser-input prior to presentation on the display device.
 15. The methodof claim 13, further comprising: converting the one or more polygonsinto pixels and imaging the pixels onto a display surface.
 16. Themethod of claim 13, further comprising: utilizing perspective rendering,oblique rendering, ray tracing, or a combination thereof, to render theset of multiple layers of the second data set.
 17. The method of claim13, wherein layers located closer to a display surface of the displaydevice achieve a lower compression ratio than layers of the same widthlocated further away from the display surface.
 18. The method of claim13, wherein the set of multiple layers of the second data set compriselight fields.
 19. The method of claim 18, wherein the light fields aremerged to create a final light field.
 20. The method of claim 1, whereinpartitioning the first data set into a plurality of layers comprisesrestricting a depth range of each layer.
 21. The method of claim 1,wherein layers located closer to a display surface are narrower in widththan layers located farther away from the display surface.
 22. Themethod of claim 1, wherein partitioning the first data set into aplurality of layers maintains a uniform compression rate across thescene.
 23. The method of claim 1, wherein partitioning the first dataset into a plurality of layers comprises generating inner and outerfrustum volume layer sets of a light field display.
 24. The method ofclaim 1, wherein the method is used to generate a synthetic light fieldfor multi-dimensional video streaming, multi-dimensional interactivegaming, real-time interactive content, or other light field displayscenarios.
 25. The method of claim 24, wherein the synthetic light fieldis generated only in a valid viewing zone.